回 帖 发 新 帖 刷新版面

主题:[讨论]求助:程序中的函数结果调用问题



我在使用matlab编程时,想调用程序中前面部分的函数结果,结果不成功,郁闷!
  求各位大侠指点!

如:
for i=0:1;
    z=0.792+i/100
y1='sin(x)*sin(z*pi/180)=(1*1.54e-4/16)-cos(z*pi/180)*(1-cos(x))';
[x]=solve(y1);
 x*180/3.14  

y1='sin(x)*sin(z*pi/180)=(-1*1.54e-4/16)-cos(z*pi/180)*(1-cos(x))'
[x]=solve(y1);
x*180/3.14   
i=i+1;
end

想使用变量z,但程序不能识别,盼回,谢谢!

回复列表 (共1个回复)

沙发


那是因为y1应该是字符串表达式,系统在char(y1)时不能识别你已赋值的z
y1表达式应改为:
y1=['sin(x)*sin(',num2str(z),'*pi/180)=(1*1.54e-4/16)-cos(',num2str(z),'*pi/180)*(1-cos(x))'];
y1=['sin(x)*sin(',num2str(z),'*pi/180)=(-1*1.54e-4/16)-cos(',num2str(z),'*pi/180)*(1-cos(x))'];
这样就可以了

我来回复

您尚未登录,请登录后再回复。点此登录或注册