0

基本上我想做一个 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

结尾

4

1 回答 1

2

你有一个循环在另一个循环中,每个循环有 100 次迭代,所以你最终会100*100得到一些东西。

我建议你删除内部循环,一个开头for h=100:100:10000并替换语句

z=h * ones(1, length(t));

经过

z = 100 * r * ones(1, length(t));

如果我正确理解了您的代码,这可能就是您应该做的。

于 2013-09-26T09:56:27.320 回答