
mathematica4.1を使用して,行列で表した連立方程式を計算したいと思っています.例えば
A= a11 a12 a13
a21 a22 a23
a31 a32 a33
B=b11 b12 b13
b21 b22 b23
b31 b32 b33
C,Dも同様に定義して
A .x+B .y=1
C .x+D .y=0
x=x1 y=y1
x2 y2
x3 y3
のような連立方程式のx,yについて解きたいのですが,どのようにmathematicaで表現すればよいかが分かりません.
どなたか教えてください.お願いします.
当然ではありますが,A,B,C,Dはすべて既知としています.
A 回答 (5件)
- 最新から表示
- 回答順に表示

No.5
- 回答日時:
Mathematicaでの回答例
(* 以下の様に定義します *)
(* 例えば、Aの(i,j)成分は、a[i,j]となります *)
A = Array[a, {3, 3}];
B = Array[b, {3, 3}];
CC = Array[c, {3, 3}];
DD = Array[d, {3, 3}];
X = Array[x, {3}];
Y = Array[y, {3}];
(* このまま、
Solve[{A.X+B.Y={1,1,1},C.X+D.Y=={0,0,0}},Join[X,Y]]
を実行したいところですが、結構時間がかかるようです。*)
(* {{A,B},{C,D}}を結合した大きな行列を作ります。*)
M = ArrayFlatten[{{A, B}, {CC, DD}}];
(* M.{x[1],x[2],x[3],y[1],y[2],y[3]}={1,1,1,0,0,0}
を解けばよいのですが、これも時間がかかります *)
(*そこで、LinearSolveを使います。これは短時間で処理が済みますが、出力
が膨大になるようです *)
(* このような計算のとき、Det[M] !=0 という前提で、計算されるので、ご注意ください *)
LinearSolve[M][{1,1,1,0,0,0}]
No.4
- 回答日時:
Mathematica の使用経験はありませんが、たとえば、
(Linear Algebra パッケージ?) MatrixManipulation パッケージに
BlockMatrix 関数があるようです。
参考URL:http://mathematica.stackexchange.com/questions/7 …
遅くなりまして申し訳ありません.回答有り難うございます.
しかし,mathematicaの経験が浅いため,このBlockMatrix関数をどう適用すればよいのか…
勉強してみます.
No.3
- 回答日時:
行列を並べて作った行列を「ブロック行列」とか「区分行列」とか言うが、
ブロック行列の逆行列について、↓のような資料があった。
http://ja.wikipedia.org/wiki/%E5%8C%BA%E5%88%86% …
あるいは、スカラーの 2 元 2 連立方程式と同じように、
C x + D y = 0 を y = … の形に解いて A x + B y = 1 へ代入する
などでもよいのかもしれない。
A, B, C, D の中にひとつでも正則な行列があれば、このやり方がスムースにいく。
たとえ四つとも非正則であっても、連立一次方程式の不能の場合、不定の場合を処理する
方法を知っていれば、det D = 0 の時に C x + D y = 0 を y = … と扱うことが
できると思う。解の一意性を判定して不定解を正しく扱う部分を、プログラムで自動的に
やらせるには、ゴタゴタした場合分けをコーディングしなければならないだろうけど。
# やっぱり、6 連立方程式に展開してしまったほうが
# 楽なように見えるなあ。
ありがとうございました.この方法で考えてみます.
ただ,今回は6連立でしたが,今後はNxNの場合に拡張したかったので
展開する手法は取りたくなかったのです.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
線形代数です。 正方行列A,BがA...
-
AとBは同じサイズの正方行列と...
-
基本行列の積
-
行列と行列式の違いは?
-
【数値解析】行列の可約、既約...
-
matlabで条件をみたしたデータ...
-
数学「行列」の実生活への応用
-
高校数学で教わる行列っていっ...
-
零行列 O のことも 零因子 と呼...
-
線形代数学のユニタリ行列の質問
-
行列式。
-
3Dゲームにおける微分・積分・...
-
余因子 余因子展開
-
回転行列の4行4列の意味について
-
15%増しの計算方法
-
電卓の使い方 乗数はどうした...
-
「原価に20%乗っけて販売」っ...
-
医療費の10割料金の求めかた
-
原価25000円に利益10%を上乗せ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報