基本上我想做一个包含不同半径的100个圆的3D图和每个圆的新高度平面(h)。每个圆的半径增加(不断增加)和h不断增加。
我的代码存在的问题是我根据需要绘制了100 * 100个圆圈而不是100个圆圈。
for r=1:1:100
t=linspace(0,2*pi);
x=r*cos(t);
y=r*sin(t);
for h=100:100:10000
z=h * ones(1, length(t));
plot3(x,y,z);
if r == 1 && h == 100
hold on;
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
end
drawnow;
end
端
答案 0 :(得分:2)
你在另一个循环中有一个循环,每个循环有100个迭代,所以你最终会得到100*100
的东西。
我建议你删除内部循环,从for h=100:100:10000
开始并替换语句
z=h * ones(1, length(t));
通过
z = 100 * r * ones(1, length(t));
如果我已正确理解你的代码,这可能是你应该做的。