2016-09-26 73 views
0

如何解決矩陣方程我有一個程序,做一些工作,以獲得矩陣w,這是3(n+1)3(n+1)。我有一個向量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。但安德魯皮爾塞已經爲你格式化了它。 – 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

爲什麼我發現這個錯誤,你知道嗎? –