• ベストアンサー

行列式の計算を、パソコンで変数を変数のままで計算するには?

複雑な行列の計算をパソコン上で行いたいのですが、行列の要素を変数のまま計算してくれるソフトや方法はありませんでしょうか? ちょっと質問の内容がわかりにくいかもしれませんが、たとえば A =[cos(a)] B = [sin(b)] とあった場合 A+B=[cos(a)+sin(b)] のような解が欲しいのです。 MATLABで計算しようとしたのですが、計算結果が数値でしか得られなかったので困っています。 よろしくおねがいします。

  • radiz
  • お礼率27% (6/22)

質問者が選んだベストアンサー

  • ベストアンサー
  • pancho
  • ベストアンサー率35% (302/848)
回答No.3

趣旨が理解しがたいけど、元になる要素を「数値」ではなく「文字列」として入力し、計算式側でも文字式の連結と捉えれば良いだけでしょう。 例えば、  A1=sin(30), B1=sin(40) の時に、通常は  C1=A1+B1 としてしまうので、計算結果が数値化してしまいますが、  A1='sin(30), B1='sin(40) と元になる要素の最初に「'(アポストロフィ)」を付けておき、  C1=A1 & B1 とすれば、C1に「sin(30)sin(40)」と表示されます。 掛け算なのか足し算なのかを表示したければ、  C1=A1 & " + " & B1 とすれば、C1に「sin(30) + sin(40)」と表示されます。 しかし、複雑な式を表現しようとすると、とっても見づらい上に入力にも手間がかかりすぎるので、あまり向かないと思います。 また、数式と数値の両方を得る方法はありません。 以上。

その他の回答 (3)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.4

数値演算したいのではなく、数式処理をしたいということですね。 使ったことはありませんが、これならできそうに思えます。 http://www.gulf.or.jp/~damayan/math/index.html これでだめなら・・・ 高価な専門的なソフトとしてはMathmaticaってのがあります。 Mapleってのもあるそうです。

参考URL:
http://www.gulf.or.jp/~damayan/math/index.html
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.2

計算させるのなら、こっちが良いかも。

参考URL:
http://www.simplex-soft.com/ver5.html
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

ます、SINやCOSは変数ではありません。関数です。 関数ですから、結果は数値でしか返ってきません。 ご質問の内容では、数式展開のソフトという事になるかと思います。 数学はあまり得意でないので、ご希望に合うかどうかは判りませんが、下記URLをご参照ください。

参考URL:
http://homepage2.nifty.com/autumn-soft/

関連するQ&A

  • MATLAB ヤコビアン行列 変数の指定

    MATLABでヤコビアン行列を求めるプログラムを組みたいのですが、MATLAB初心者のため、どうしても変数を指定するところから先に進むことができません。 変数V(1)…V(10)、Y(1,1)…Y(10,10)には、本当は数値を入れたいのですが、シンボリック式でないとヤコビアン行列は扱えないようなので、symsで上の変数をシンボリック化したいと思っています。 上のように…と省略しているように、変数を指定する際、V(1)…V(10)の10個とY(1,1)…Y(10,10)の10×10=100個を羅列せずに省略して書く方法はありませんか? どなたか分かる方よろしくお願い致します。

  • MATLABシンボリックマスツールの代入計算

    MATLABシンボリックマスツールで組み立てた計算式にsubs関数を使用して変数を代入して解を得たいと考えています。 実際実行した結果ですが, cos(17377/7500) のように三角関数の所の計算が中途半端で止まってしまい,解をえることができません。 すべて計算させるためには,何か別に関数を入力することで可能になったりするでしょうか? 何か対応がありましたら,教えていただければと思います。

  • python numpyで行列作成

    numpyを使って行列計算を行おうとしていますが、肝心の行列作成でつまづいています。 下記のような書き方はできないんでしょうか? A = numpy.array([a, b, c], [b, c, d], [c, d, e]) (a~eは実数型の変数、3x3の行列を作りたい) web上で探した結果、数値は全てリテラルになってるようですが、 変数を使った初期化は無理ですか?

  • 行列について

    行列 A=E-αR, R= sin^2θ  sinθcosθ sinθcosθ cos^2θ があります。行列Aと行列Rの固有値と固有ベクトルの関係を示せ。 という問題があるんですがわかりません。 ヒントでもよいので教えてください。

  • 行列でA^nを求める問題です。

    B1=(cosθ)    (sinθ) B2=(cosθ sinθ) C1=(-sinθ)    ( cosθ) C2=(-sinθ cosθ) (わかりにくくて申し訳ありませんが、B1,C1は2×1行列 B2,C2は1×2行列を表しています。) a,bは0でない実数として、2次の正方行列AがA=aB1B2+bC1C2で表されているものとする。 A^n を求めよ。 という問題です。 正答はa^n B1B2 + b^n C1C2 になるそうです。 実際に代入して A=(acosθ^2+bsinθ^2      acosθsinθ-bsinθcosθ)   (acosθsinθ-bsinθcosθ   asinθ^2+bcosθ^2    ) を求めてみたりはしたのですが、そこからどう正答に持っていくかがわかりません。 お暇な時にでもご回答よろしくお願いします

  • Matematica による行列計算

    Matematicaに行列計算をさせる方法を教えて下さい. Matematicaで行列の積の計算をやらせたいとき、例えば {{a,b},{c,d}}^nとすると、単に各要素がn乗されただけの答えが返ってきます. 一般に行列のn乗を計算させるにはどのような命令文を書けばよいでしょうか? どなたか教えて下さい.

  • 行列について質問です。

    (a')=(cos45° -sin45°)(a)=((a-b)/√(2)) (b'). ..(sin45°. cos45°)(b). ..((a+b)/√(2)) の途中計算がわかりません。教えてください。

  • 数値計算ができるようになりたいのですが…

    現在、大学院修士課程1年です。 将来はアカデミックな研究者を目指しています。 今行っている研究で、非線形方程式(多変数)の解を数値計算を用いて得たいと考えています。 今まで数値計算はやったことがないのでこれから勉強をはじめるところなのですが、少し悩んでいます。 今は数値計算に便利なMATLABのような市販ソフトがあることが分かっており、勉強すれば短時間で実際に研究につかうことができそうです。 しかし、やはり研究者を目指すなら、そのようなソフトに頼らず、しっかりと数値計算の理論を理解したうえで、FORTRANなどで自らプログラムを書くべきなのでしょうか。 良いアドバイスがありましたらよろしくお願いします。

  • 行列計算ソフト

    行列の成分を指定しなくても行列計算をしてくれるソフトを探しています。具体的には、たとえば行列dAのノルムが十分に小さいことを教えてやって >>inverse(A+dA) を入力すると >>inverse(A)-inverse(A)*dA*inverse(A) を返してくれるようなソフトです。ここまでしてくれなくても、たとえば >>A*B*inverse(B)*C を与えると >>A*C と文字的に返してくれるだけで十分ありがたいです。 大抵のソフトは >>A={{a,b,c},{d,e,f},…} などと成分を明記してあげてからでないと計算してくれないので、一般性が不十分です。Mathematicaなどでもできるのでしょうか?

  • (1)次の行列の積を計算せよ。

    (1)次の行列の積を計算せよ。 (cos2θ1 sin2θ1 (cos2θ2 sin2θ2 sin2θ1 -cos2θ1) sin2θ2 -cos2θ2) (2)平行でない弐hンの直線L1、L2を交角がθになるように平面上に配置する。T1,T2をそれぞれL1,L2に関する平面上の対称変換とするとき、T1○T2及びT2○T1はどのような変換になるか述べよ。 全くわかりません。教えてください。