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

Sam*_*rom 1 3d matlab plot shape

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

在此输入图像描述

一个.

编辑1:

感谢Trogdor和PetrH的回复.

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

在此输入图像描述

编辑2:

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

在此输入图像描述

Tro*_*dor 5

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

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

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

z = y.^2;
Run Code Online (Sandbox Code Playgroud)

等等.

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

z = x.^2 - y.^2;
Run Code Online (Sandbox Code Playgroud)

感谢PetrH指出这一点.

第四和第五是前两个的倒置.

z = -x.^2;
z = -x.^2 - y.^2;
Run Code Online (Sandbox Code Playgroud)

  • 第三个形状是一个马鞍,你得到的是"z = x.^ 2 - y.^ 2`. (5认同)