matlab用了solve,结果是sym啊,怎么看具体数值

2025-02-27 00:51:49
推荐回答(1个)
回答1:

运行了你的程序,存在着下列几个问题:

1、用下列这个代码求解,其t、y值是无法代入方程的。

x=solve('465*sin(x)+200=120*cos(t*1.2+pi/3)+369*sin(x-y)','x');

所以软件会提示有关sym的信息。

2、如要显示x值,其该语句最后不能有分号()。

由于你给出的t、y值是以一组向量形式存放的,因此要计算你的x值必须要用循环语句(如for。。。end语句)来求解。

需要在t、y值后面增加如下代码:

n=length(t);

x=zeros(n,1);

for i=1:n

    syms x1

    t1=t(i);y1=y(i);

    x(i)=vpasolve(465*sin(x1)+200==120*cos(t1*1.2+pi/3)+369*sin(x1-y1));

end

x

运行结果形式