作者english12335 (eason)
看板MATLAB
标题[讨论] 用syms解联立方程式的问题
时间Mon Nov 2 14:52:30 2015
大家好
我有一个syms解联立的问题
式子如下
p=0;
sum_y_2order=0.9989;
sum_y_4order=1.0894;
syms z x
S=solve('(1-p)*z+p*(1+x)*z+1=sum_y_2order','(1-p)*(1+6*z+(sqrt(3)*z)^2)+p*(1+6*z*(1+x)+(sqrt(3)*z*(1+x))^2)=sum_y_4order');
S=[S.z S.x]
subs(S,{'sum_y_2order','sum_y_4order','p'},[sum_y_2order sum_y_4order p])
z = double(subs(S,{'sum_y_2order','sum_y_4order','p'},[sum_y_2order
sum_y_4order p]))
照理说 我p已经设为0了
所以第一个方程式或变成z=sum_y_2order也就是0.9989
但是我执行後matlab会发生错误
变成下面这样
Error using mupadmex
Error in MuPAD command: Division by zero. [_power]
Evaluating: symobj::trysubs
Error in sym/subs>mupadsubs (line 139)
G = mupadmex('symobj::fullsubs',F.s,X2,Y2);
Error in sym/subs (line 124)
G = mupadsubs(F,X,Y);
Error in testtest (line 7)
subs(S,{'sum_y_2order','sum_y_4order','p'},[sum_y_2order sum_y_4order p])
想请问是甚麽原因呢
p不代0都会有解阿
谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.123.116.128
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1446447156.A.A5A.html
1F:→ celestialgod: 你eval(S.x)会出现NaN -> 解有问题 11/02 15:03
2F:→ celestialgod: 我用solve(.==., .==., x, z)会直接无解XD 11/02 15:07
3F:→ celestialgod: .是两个等式的左右... 11/02 15:07
4F:→ celestialgod: 建议solve不要用字串,其他都会被当成syms 11/02 15:07
5F:→ english12335: 好喔 谢谢celestialgod大的解说 我试试 11/02 16:05