2016-06-26 10 views
2

基本的には、すべての係数が変数である線形方程式系があります。例えば、2×2システム用:効率的な方法でMATLAB/Maple /等式のシン​​ボリック線形方程式システムを解く

  • A11 *×1 + A12 *×2 = F1
  • A21 *×1 + A22 *×2 = F2

X1、X2 = ....( 0121、a12、a21、a22、f1、f2の記号表現)

システムの行列を記号形式で書いて、適切な行列式を計算して、Cramerの規則でMATLABで解決しようとしました。問題は、システムのサイズによって必要な時間が非常に短くなることです。手元にある問題には、12x12システムのための象徴的な解決策が必要ですが、現在のコードで必要とされる時間は膨大で、来月いつでも終了する可能性は低いです。

このシンボリック・リニア・システムを解決する最良の方法は何ですか? Mapleは記号演算に最も適していると言われましたが、記号行列を計算するのにMATLABよりもかなり速いでしょうか?

+1

文章中の "記号的"と "効率的"。いいえ、それは通常起こりません。また、MATLABは数値的な問題に最適ですが、個人的には象徴的なエンジンが嫌いです。 –

+1

完全に象徴的な12x12システムの解決策として、実際には可能なことはありえますか?行列式には12があります。 =半分の条件で、それぞれが12の要素を持つ。 –

+0

あなたのマトリックスに構造物がない場合は、コメントが指摘しているように安全にこの作業をやめることができます。 – percusse

答えて

1

はい、mapleは、関連する変数の数値係数に加えて、シンボリック係数を持つ線形方程式系を解くことができます。次に例を示します。

eq||1:=a11*x1+a12*x2=f1; 
eq||2:=a21*x1+a22*x2=f2; 
solve({eq||1, eq||2}, [x1,x2]); 

次に、1秒以内に次の回答が得られます。

[[x1 = -(a12*f2-f1*a22)/(a11*a22-a21*a12), x2 = (a11*f2-a21*f1)/(a11*a22-a21*a12)]] 

複雑な式の詳細と解決方法については、Mapleのヘルプページを参照してください。

+0

実際には、解決できる最大のシステムは7つの方程式を持っています。それは10分を要し、約1Gのメモリを使用します。 –

関連する問題