关于matlab数组下标小问题
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/09 06:10:53
关于matlab数组下标小问题
程序如下:
wt=1:1:180;
Y=wt/180;
R=500*cos(Y);
for i=1:1:180
x(i)=R(i)*cos(i*pi/180.0);
y(i)=R(i)*sin(i*pi/180.0);
end
plot([-250 250],[0 0],'k');
hold on;grid on;
plot([0,0],[-200 200],'k');
hold on;grid on;
plot(x,y,'r')
axis equal
hold on
输出的图形在第一象限中0~1之间是空的,我想让0~1之间也显示出曲线
如果在C++中,我可以直接定义为
for i=0:1:180
但matlab好像数组下标必须从1开始,只能定义为
for i=1:1:180
怎么办?
请给出详细程序.谢谢!
程序如下:
wt=1:1:180;
Y=wt/180;
R=500*cos(Y);
for i=1:1:180
x(i)=R(i)*cos(i*pi/180.0);
y(i)=R(i)*sin(i*pi/180.0);
end
plot([-250 250],[0 0],'k');
hold on;grid on;
plot([0,0],[-200 200],'k');
hold on;grid on;
plot(x,y,'r')
axis equal
hold on
输出的图形在第一象限中0~1之间是空的,我想让0~1之间也显示出曲线
如果在C++中,我可以直接定义为
for i=0:1:180
但matlab好像数组下标必须从1开始,只能定义为
for i=1:1:180
怎么办?
请给出详细程序.谢谢!
![关于matlab数组下标小问题](/uploads/image/z/3533522-50-2.jpg?t=%E5%85%B3%E4%BA%8Ematlab%E6%95%B0%E7%BB%84%E4%B8%8B%E6%A0%87%E5%B0%8F%E9%97%AE%E9%A2%98)
这样改下就好了:
wt=0:1:180;
Y=wt/180;
R=500*cos(Y);
for i=0:1:180
x(i+1)=R(i+1)*cos(i*pi/180.0);
y(i+1)=R(i+1)*sin(i*pi/180.0);
end
不要硬把那个循环变量i看做是下标,它的意义实际上是角度,我们可以灵活的根据角度转换为下标.
wt=0:1:180;
Y=wt/180;
R=500*cos(Y);
for i=0:1:180
x(i+1)=R(i+1)*cos(i*pi/180.0);
y(i+1)=R(i+1)*sin(i*pi/180.0);
end
不要硬把那个循环变量i看做是下标,它的意义实际上是角度,我们可以灵活的根据角度转换为下标.