如何使用Matlab绘制这些3D形状?

时间:2014-08-05 19:03:16

标签: matlab plot 3d shape

我正在尝试使用Matlab创建这些3D形状以用于说明目的(请参见下图)。我认为冲浪是我应该使用的功能;但是,我们还不清楚我应该用什么函数来表示这些形状。有人可以提出一个例子吗?感谢。

enter image description here

一个。

编辑1:

感谢Trogdor和PetrH的回复。

目前,我正在尝试绘制更锐利的形状。例如,z = x。^ 2 + y。^ 2;可以绘制正常的杯形。但是,我想绘制如右下图所示的子图。尝试了几个不同的功能,但没有工作。感谢您的任何提示!

enter image description here

编辑2:

使用z = x。^ 2 -4 * x + y。^ 2-4 * y;可以使形状更平坦。仍然没有办法让它变得尖锐。

enter image description here

1 个答案:

答案 0 :(得分:5)

您可以使用meshgrid生成x和y矩阵以插入z函数。例如:

[x,y] = meshgrid(-10:10);
z = x.^2 + y.^2;
figure;surf(z);

将生成类似于第一个数字的图。 第二个数字是相同的,但将z定义为:

z = y.^2;

等等。

编辑:第三个数字是马鞍,使用

找到
z = x.^2 - y.^2;

感谢PetrH指出这一点。

第四和第五是前两个的反转。

z = -x.^2;
z = -x.^2 - y.^2;