将图片1中的公式3与公式4输入到MATLAB后,目前 Vx/Vr(Amp) 与 相位差(phase)是已知的,另外 w 与 Rr, Cr 也已知,求Rx,Cx但最终结果却是matlab解方程出现Empty sym: 0-by-1(图2)。不知道哪里出了问题,能否有人指点迷津。
说明原方程没有解,你可以把Amp、phase的值换一个试试,是能够得到的解,代码没问题,思路没问题
[empty syms]是唯一正确的结果。
Empty sym: 0-by-1 是无解 或者方程复杂解不出来。(mathematiac的符号求解能力更强些。)
可以试试把值全部带入不用变量的方式求解一下。
比如 b = 0.45;eq = x-sin(x) == b ;改为eq = x-sin(x) == 9/20;
或者试试vpasolve。
这是一个实例的分析结果:
matlab解方程时返回[ empty sym:0-by-1 ]?出现问题的原因是,由于方程表达式用了单引号,无法将已知代入方程内。解决的方法就是去掉单引号,等号用==。即
syms x y
eq1=x*h*sqrt(y*Dfin/(kfin*Afin))-tanh(h*sqrt(y*Dfin/(kfin*Afin)));
eq2=y*(x*Afin+Ab)*(Tbav-Tfav)-qf;
S=solve(eq1==0,eq2==0,[x,y]);
x=S.x
y=S.y