急急!!matlab 问题,求好心人帮忙,谢谢~~~

[复制链接]
查看11 | 回复3 | 2011-3-19 22:03:45 | 显示全部楼层 |阅读模式
我的程序是这样的
s=0+eps:0.01:1000;%s从0变到1000
y=vectorize('(-.115*((cos(.943e-2*s^(1/2))-11.6*s^(1/2)*sin(.943e-2*s^(1/2)))*cos(1.36*s^(1/2))+40.4*(-.892e-4*sin(.943e-2*s^(1/2))/s^(1/2)-.104e-2*cos(.943e-2*s^(1/2)))*s^(1/2)*sin(1.36*s^(1/2)))*cos(.379e-1*s^(1/2))-.115*(261.*(-.323e-1*cos(.943e-2*s^(1/2))+.374*s^(1/2)*sin(.943e-2*s^(1/2)))*sin(1.36*s^(1/2))/s^(1/2)+6.45*(-.469e-2*sin(.943e-2*s^(1/2))/s^(1/2)-.546e-1*cos(.943e-2*s^(1/2)))*cos(1.36*s^(1/2)))*s^(1/2)*sin(.379e-1*s^(1/2)))*cos(.121*s^(1/2))')
%将所有乘号和除号改成点乘和点除
plot(s,y);
grid on
可是却出错
??? Error using ==> plot
Error in color/linetype argument
Error in ==> gaidiancheng at 3
plot(s,y);
说我什么画的什么有错,不怎么懂,若是不自己手改成点乘和点除的话好像不会出现这个错误,请高手指教,非常的感谢~~~~~~

回复

使用道具 举报

千问 | 2011-3-19 22:03:45 | 显示全部楼层
你的y在vectorize后会变成一个符号变量,故plot报错,而不用vectorize,y就是直接计算后面表达式的数值,因此不会出现这个问题。在plot(s,y);前加上y=eval(y);将y计算成数值再画图就行了。eval(y),相当于将所有乘号和除号改成点乘和点除后的表达式输入到matlab命令窗口中,再执行一遍
回复

使用道具 举报

千问 | 2011-3-19 22:03:45 | 显示全部楼层
笨蛋 那个问题啊这里有教程http://v.youku.com/v_playlist/f5215139o1p0.html
回复

使用道具 举报

千问 | 2011-3-19 22:03:45 | 显示全部楼层
具体是什么啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行