• 締切済み

X=A^(-1)B の計算(逆行列を使った解)

AX=Bという行列式があり、そこからXの解を求めるのに Aの逆行列A^(-1)をBに書けてXを求めるCプログラムないでしょうか? 例 2 3 4 X11 X12 X13 X14 2 4 6 8 ( 3 4 6 ) ( X21 X22 X23 X24) = 1 5 8 9 -1 2 9 X31 X32 X33 X34 -2 3 1 1 というときにXのマトリックスをだすプログラムがほしいのですが…。

みんなの回答

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.2

わかりにくいんですよね、excelで複数の答を表示させるのって。 (1) まず、=minverse(....)という式を一つのセルに入力します。そのセルだけに数値が表示されたり、関数によってはエラー値が表示されたりしますが、気にしない。 (2) 答がN行M列分ある、としたときに、=minverse(....)という式を入力したセルを左上隅にしてN行M列分を選択します。 (3) 次に数式表示バーの=minverse(....)という式の中にカーソルを入れて、(つまり式を編集するモードに入って)、 ●Macintoshの場合はリンゴマークキーを押しながらenterキーを押す。 ●Windowsの場合はCNTLとShiftキーを押しながらretrunキーを押す。 Linest,mmultなど、複数のセルに答を入れる関数はみんなこのやり方です。

Mura-Mayu
質問者

お礼

ありがとうございました。 たいへん助かりました。これで研究がすすみ、卒業ができそうです。 ありがとうございます。

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.1

この例のように小さな行列で良いのなら、excelでも関数minverse()とmmult()でできちゃいます。  Cプログラムなら 奥村晴彦「C言語による最新アルゴリズム事典」技術評論社 を1冊持っていると便利です。

Mura-Mayu
質問者

補足

ありがとうございます。excelでもやってみたのですが、行列じゃなくて 一つの値ででてしまいます。 Helpをみたのですが、配列式(?)をかかなくてはならないようなのですが、 イマイチよくわかりません。 もしよかったらお教えねがえますか?