[討論] 解聯立方程

看板MATLAB作者 (ReiFu)時間12年前 (2013/05/20 22:09), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
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

05/20 22:27, , 1F
s=solbe(eq1, eq2, eq3, 'X', 'Y', 'Z')
05/20 22:27, 1F

05/20 22:40, , 2F
樓上的方式沒有bug了 可是s.X出來是L,a,b的函數 不是一個
05/20 22:40, 2F

05/20 22:40, , 3F
值 請問還要怎麼修改呢? 感恩!
05/20 22:40, 3F

05/20 23:45, , 4F
你是希望代值進去跟原本的一樣嗎? 可以用subs
05/20 23:45, 4F

05/20 23:47, , 5F
subs(s.X, 'L', L, 'a', a, 'b', b)
05/20 23:47, 5F

05/21 00:02, , 6F
DONE!! 感謝!!
05/21 00:02, 6F
文章代碼(AID): #1HcYwi99 (MATLAB)