注册 登录
编程论坛 Matlab

刚接触matlab帮忙看一下是什么原因,谢谢各位的帮忙Error using ==> plot Vectors must be the same len

alexshen1983 发布于 2009-09-20 11:54, 3123 次点击
x=3:15;
y1=err(8,4,1,0.5,2,1,2);
y2=err(16,8,1,0.5,2,1,2);
y3=err(32,16,1,0.5,2,1,2);
y4=err(8,4,1,1,2,1,2);
y5=err(16,8,1,1,2,1,2);
y6=err(32,16,1,1,2,1,2);
y7=err(8,4,1,1.5,2,1,2);
y8=err(16,8,1,1.5,2,1,2);
y9=err(32,16,1,1.5,2,1,2);
plot(x,y1,'k--',x,y2,'r:',x,y3,'b-.',x,y4,'k--',x,y5,'r:',x,y6,'b-.',x,y7,'k--',x,y8,'r:',x,y9,'b-.')
%title('')
xlabel('iteration times')
ylabel('qh')
legend('Mesh h','Mesh h/2','Mesh h/4')

其中:y1=err(8,4,1,0.5,2,1,2)的值为:
y1 =

  1.0e+013 *

    4.4152    4.3858    4.3775    4.3771    4.3770    4.3770
1 回复
#2
yxkzn2009-09-20 19:25
1.首先“err”是什么函数?你自己写的吧?因为在我的matlab7.1中使用err时显示“Undefined command/function 'err'”;
2.plot命令使用时,数组x和y的长度应该相等,你的x是13个数,然而你的y_i不是13个(例如y1中有7个数据),自然会显示:

??? Error using ==> plot
Vectors must be the same lengths.

让x和y中的数据的个数一致,就可以了。
祝好!
1