matlab怎么求一元多次方程

公式如图所示,其中Eeq,Req,Xeq,KH以及s都是4*1的列向量,其余的均为常数,除了s均已知,即为关于s的一元多次方程,求s。该怎么写代码啊?

用matlab求一元多次方程的s值,其中已知Eeq,Req,Xeq,KH是4×1的列向量。可以用for循环语句和vpasolve函数来求解,其实现方法:
Eeq=[?;?;?;?]
Req=[?;?;?;?]
Xeq=[?;?;?;?]
KH=[?;?;?;?]
KL=?
a=?;r2=?;x2=?;
for n=1:4
syms s
s0(n)=vpasolve(式9表达式==0);
表达式中,Eeq用Eeq(n)表示,Xeq用Xeq(n)表示,KH用KH(n)表示,Req用Req(n)表示,
end
s=s0追问

还是会报错,我是哪儿有问题,还是两边数据类型有问题?图里面是我加的代码(与公式计算参数相关的部分),字数限制只能发图。

追答

for循环语句有点问题,可以这样改

运行结果,每次s有四个解,s是4×4的向量

追问

您好,是这样的,这个s是感应电机转差率,而且它应该是4*1的列向量,不是复数。出来结果s成了4*4的向量,且在这个给定电压幅值下s是不会大于1的,s应该很小比较接近0,大于1了就是制动状态了。所以不知道是哪儿定义还有问题。

追答

得到的s都是复数解。是否方程有没有错误?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答