2016-09-26 12 views
0

3(n+1)によって3(n+1)である行列wを得るいくつかの仕事をするプログラムがあります。ベクトルfbar3(n+1)で、1です。私はwにそれを掛けたときに、fbarという行列を得たいと思っています。メープルの行列方程式を解く方法

数学的記法では、w * A = fbarです。私はwfbarを持っていて、私はAがほしいです。

私は、このコマンドを使用してそれを解決しようとした:

fsolve({seq(multiply(w, A)[i, 1] = fbar[i, 1], i = 1 .. 3*(n+1))})  

が、私は、応答メープルが与えた理解していない。この平均値を何

fsolve({2.025881905 A1[2,1]+7.814009150 A1[3,1]+... 

-7.071067816 10^(-13) A1[3,1]-0.0004999999990 

A1[4,1]-0.0007071067294 A1[5,1]-0.0004999999990 A1[6,1]) 

A3[6,1]=0},{A1[1,1],A1[2,1],A1[3,1],A1[4,1],A1[5,1],A1[6,1],A\ 

2[1,1],A2[2,1],A2[3,1],A2[4,1],A2[5,1],A2[6,1],A3[1,1],A3[2,1]\ 

,A3[3,1],A3[4,1],A3[5,1],A3[6,1]}) 

を、どのように私はより多くを得ることができます意味のある答え?

+0

コードを最初にフォーマットする必要があります。 – sashoalm

+0

どういう意味ですか?私はそれを書いています。その結果私のプログラムは、あなたがそれを意味するならば、ここに書き込むのにずっと時間がかかります。その重要な場合は、私に教えてください –

+0

私はこれを意味 - http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks。しかし、Andrew Piliserはすでにあなたのためにそれをフォーマットしました。 – sashoalm

答えて

0

wfbarがそれぞれ行列とベクトルとして定義されている場合、LinearSolveファンクション(LinearAlgebraパッケージ)から直接これを行うことができます。以下のコードは再現可能な例です。 LinearSolveの解は、xに等しくなければならないことに注意してください。

w := Matrix(<<1,2,3>|<4,5,6>|<7,8,10>>); 
LinearAlgebra[ReducedRowEchelonForm](%); ## Full rank => 1 solution) 
x := <1,2,3>; 
fbar := w.x; 


## Solve the equation w.x = fbar 
LinearAlgebra[LinearSolve](w,fbar); 
+0

ありがとうございます。しかし、上記のようなコマンドを使用すると、私はこのエラーを受け取ります: エラー、(LinearAlgebra:-LinearSolveで)一貫性のないシステム –

+0

なぜこのエラーが発生しますか? –

関連する問題