作者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/m.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