ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

搜集怎么绘制三维曲线和曲面?

2026/9/14 12:07:32 拓冰建站 浏览量
搜集怎么绘制三维曲线和曲面?

1、针对函数对象是单一变量、两个函数的情况。用plot3函数;(三维曲线)

看一下matlab官方的例子:

t = 0:pi/50:10*pi;
st = sin(t);
ct = cos(t);
plot3(st,ct,t)

绘制出来的曲线:

几个比较关键的点:

(1)3-D绘图的函数为 plot3

(2)plot3 内的三个参数必须维度一直。

2、针对函数对象是双变量、单输出。用meshgrid函数;

也看一下matlab官方的例子:

x = -2:0.25:2;
y = x;
[X,Y] = meshgrid(x);  %这里需要注重meshgrid算法的用法
F = X.*exp(-X.^2-Y.^2);
surf(X,Y,F)

2.1 如何更改绘制风格?

代码后增加colormap();

x = -2:0.1:2;
y = x;
[X,Y] = meshgrid(x,y);
F = X.*exp(-X.^2-Y.^2);
surf(X,Y,F)
colormap autumn(5);

2.1 如何更改阴影风格?

代码后增加colormap();

x = -2:0.1:2;
y = x;
[X,Y] = meshgrid(x,y);
F = X.*exp(-X.^2-Y.^2);
surf(X,Y,F)
colormap autumn(5)
shading flat

尝试绘制自己的函数 Z = x^2 + y^2 

x = -2:0.1:2;
y = x;
[X,Y] = meshgrid(x,y);
F =X.^2 + Y.^2
surf(X,Y,F)
colormap autumn(5)
shading flat

附:meshgrid的用法

x = 1:3;
y = 1:5;
[X,Y] = meshgrid(x,y)

得到:

X = 5×31     2     31     2     31     2     31     2     31     2     3
Y = 5×31     1     12     2     23     3     34     4     45     5     5

对其输出的矩阵进行运算可得:

X.^2 + Y.^2
ans = 5×32     5    105     8    1310    13    1817    20    2526    29    34