作者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