注册 登录
编程论坛 Matlab

请教个问题。Vectors must be the same lengths

slymr 发布于 2006-11-19 14:47, 3729 次点击
程序片断是
for j=1:100
。。。。。
z1(1,j)=z(1);
z1(2,j)=z(2);
z1(3,j)=z(3);
end

j=1:100
plot(j,z(1,:));


运行提示??? Error using ==> plot
Vectors must be the same lengths.

请问各位,这是怎么回事啊?怎么修改
11 回复
#2
slymr2006-11-20 00:31
有没有兄弟帮我看看啊
#3
尘埃1222006-11-20 11:14
  呵呵,你不妨把z(1),z(2),z(3)的原始数据贴出,这样大家可以帮你跑跑
#4
slymr2006-11-20 12:01
不是什么原始数据,就是用原始的0,进行累加
#5
slymr2006-11-20 16:16
我把plot函数注释掉就没有问题了。真是郁闷
#6
hitzhang2006-11-20 17:56
j=0
#7
hitzhang2006-11-20 17:57

no j=100所以错了

#8
slymr2006-11-20 18:47
j=0  也不对
#9
slymr2006-11-20 19:56
7楼的兄弟,那应该是多少啊
#10
slymr2006-11-21 08:29


%跟踪微分
function obj_eso()
u=1;
r=0.1;
h=0.01;
x=[0,0];


for i=1:100
x(3)=x(1)+h*x(2);
b=10*sign(sin(0.5*i))+1;
x(1)=x(3);
x(2)=x(2)+h*b;
x(1,i)=x(1);
x(2,i)=x(2);
end
i=1:100
%plot(i,x(1,:));
y=x(1,:);

z=[0,0,0];
bet=[100,200,300];
b=0;
d=0.1;
for j=1:100



b1=z(2)-bet(1)*x(1);
b2=z(3)-bet(2)*x(2);


z(1)=z(1)+h*b1;
z(2)=z(2)+h*b2;


z1(1,j)=z(1);
z1(2,j)=z(2);

end

j=1:100
plot(j,z(1,:));

#11
slymr2006-11-21 08:31

这是源代码,大家给我看看吧

#12
尘埃1222006-11-21 09:11
plot(j,z(1,:));Z中只有3个数值,所以会报错

不知你是想画出Z或是Z1,如果改为plot(j,z1(1,:)),能出现结果,只是不知道是否是你所需要的
1