请问这段matlab循环哪儿错了?

来源:百度知道 编辑:UC知道 时间:2024/05/29 12:24:01
x=zeros(1,1000);% 产生一维数组
for i= 0:1000
x(i)=sin(i/2)
end
想给数组赋值,请问哪儿出错了?

x=zeros(1,1000);
for i= 1:1000
x(i)=sin(i/2);
end

i = 0,是不能用来指示的,至少得是i = 1。。。你不需要先产生零数组,直接赋值就可以:
for i = 0:1000
x(i+1)=sin(i/2)
end
但要记得这有1001个值,而不是1000个

or

for i = 1:1000
x(i)=sin(i/2)
end