作者ReiFu21 (ReiFu)
看板MATLAB
標題[討論] 解聯立方程
時間Mon May 20 22:09:46 2013
eq1=' 1 = 116*(Y/100)^(1/3)-16';
eq2=' 2 = 500*( (X/98.07)^(1/3) - (Y/100)^(1/3) )';
eq3=' 3 = 200*( (Y/100)^(1/3) - (Z/118.22)^(1/3) )';
s=solve(eq1,eq2,eq3);
s.X; s.Y; s.Z;
這樣解沒問題
但是我用另一種形式寫:
L=1; a=2; b=3;
eq1=' L = 116*(Y/100)^(1/3)-16';
eq2=' a = 500*( (X/98.07)^(1/3) - (Y/100)^(1/3) )';
eq3=' b = 200*( (Y/100)^(1/3) - (Z/118.22)^(1/3) )';
s=solve(eq1,eq2,eq3);
s.X; s.Y; s.Z;
就會出現 ??? Reference to non-existent field 'X'. 的錯誤訊息
想請問各位板友該如何修改呢?
謝謝^^"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 182.233.195.125
1F:→ jatj:s=solbe(eq1, eq2, eq3, 'X', 'Y', 'Z') 05/20 22:27
2F:→ ReiFu21:樓上的方式沒有bug了 可是s.X出來是L,a,b的函數 不是一個 05/20 22:40
3F:→ ReiFu21:值 請問還要怎麼修改呢? 感恩! 05/20 22:40
4F:推 kurt28:你是希望代值進去跟原本的一樣嗎? 可以用subs 05/20 23:45
5F:→ jatj:subs(s.X, 'L', L, 'a', a, 'b', b) 05/20 23:47
6F:→ ReiFu21:DONE!! 感謝!! 05/21 00:02