关于matlab数组下标小问题
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/20 02:16:05
关于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
怎么办?
请给出详细程序.谢谢!
这样改下就好了:
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看做是下标,它的意义实际上是角度,我们可以灵活的根据角度转换为下标.