如何在八度音程中绘制 3D
How to plot 3D in octave
嗨,我开始使用 Octave,需要有关如何绘制 x²+y² = 1 的帮助。
我知道这个图形是一个圆柱体。
我试过了:
x= -10:0.1:10;
y = -10:0.1:10;
t = x²+y²;
但是不行。
对于这种特殊情况,您可以使用 cylinder
函数。
cylinder([a,b])
将绘制一个圆柱体,其在 z==0
处的半径等于 a
,并且会连续平滑地变化,直到其在 z==1
处的半径达到 b
。在您的情况下,您需要将 a
和 b
设置为 1
,这是您调用 cylinder()
.
时默认发生的情况
现在这将绘制在 [0,1]
中只有 z
个值的圆柱体。如果您想自定义该范围,您可以像这样从函数中获取输出:
[xx yy zz]=cylinder([1,1]);
现在你可以用它来获取你想要的剧情了。例如,
surf(xx,yy,zz.*10);hold on; surf(xx,yy,-zz.*10);
会产生这个:
嗨,我开始使用 Octave,需要有关如何绘制 x²+y² = 1 的帮助。 我知道这个图形是一个圆柱体。 我试过了:
x= -10:0.1:10;
y = -10:0.1:10;
t = x²+y²;
但是不行。
对于这种特殊情况,您可以使用 cylinder
函数。
cylinder([a,b])
将绘制一个圆柱体,其在 z==0
处的半径等于 a
,并且会连续平滑地变化,直到其在 z==1
处的半径达到 b
。在您的情况下,您需要将 a
和 b
设置为 1
,这是您调用 cylinder()
.
现在这将绘制在 [0,1]
中只有 z
个值的圆柱体。如果您想自定义该范围,您可以像这样从函数中获取输出:
[xx yy zz]=cylinder([1,1]);
现在你可以用它来获取你想要的剧情了。例如,
surf(xx,yy,zz.*10);hold on; surf(xx,yy,-zz.*10);
会产生这个: