matlab中的solve函数可以和for函数一起用吗?因为有五个式子

2024-11-30 00:42:57
推荐回答(2个)
回答1:

matlab用solve解方程时,是可以与for循环套用的,每循环一次,解一个或一组方程。如:
x=-3:2:5;
m=length(x);
for k=1:m
syms b K
a=x(k);
s=a+b*1i;
G=((2*s^2+s+1)*exp(-s))/(s^3+s^2+5*s);
G1=imag(G);
G2=real(G);
s=sprintf('第%d次计算',k);
disp(s)
[K,b]=solve(1+K*G2==0,G1==0,'K','b')
end
运行结果:
第1次计算
K =
0.10268582850871938239489373227825
b =
0
第2次计算
K =
0.91969860292860580398880942540365
b =
0
第3次计算
K =
-4.7569931998033291618805030748672
b =
0
第4次计算
K =
-46.561926503753229763061591471985
b =
0
第5次计算
K =
-463.79112219555188569098618762673
b =
0

回答2:

可以一起用,但要注意用法。
如果solve的参数是字符串,需要注意把循环控制变量转换为字符串;或者换用符号表达式的方式调用solve函数。