看板 MATLAB 關於我們 聯絡資訊
小弟最近寫程式需要解相當長的聯立方程式, 但是學校給的MATLAB卻無法使用solve指令, 且矩陣也不是方陣,無法利用反矩陣求解, 後來自己上網找到了另一個解聯立的作法,叫做左除法,能夠進行矩陣倒除, 但是我卻找不到左除法是依據什麼計算方式運作的。 範例: 3x +4y =10 5x -2y =8 A=[3 4;5 -2]; C=[10;8]; X=A\C %%這就是左除法 X = 2 %% 得出解x=2 y=1 1 有沒有人能稍微解釋一下左除法的計算方式? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.186.6
sunev:就跟國中生解聯立方程的方法差不多啊 07/25 04:45
profyang:在你這裡等同於inv(A)*C 07/25 06:31
shuntau:就是A取反矩陣之後右乘C,算是很基本的矩陣運算的定義 07/25 11:13
shuntau:另外MATLAB強大的地方就是即使不是方陣也可以除 07/25 11:14
kurt28:高斯消去法 07/25 12:51
Slas:因為我實際要解的聯立方程式是3*14的矩陣 07/25 14:21
Slas:非方陣應該是不能求反矩陣才對 07/25 14:21
Slas:後來自己去查到了,MATLAB的左除法是用LU分解的步驟計算的 07/25 14:22
profyang:條件太多會變最小方差 條件太少就找出一組解 07/25 14:23
Slas:另外請問一下 MATLAB處理非方陣的除法是怎麼算的? 07/25 14:56
Slas:補上單位矩陣把它補成方陣才計算嗎? 07/25 14:57
nbalife:可以用edit去看code 07/25 18:03
kurt28:應該是看你的目的及需求 解這種最佳解問題有很多方法 07/26 00:11
weyl:據說matlab會判斷矩陣的形式選擇算法 07/29 00:49