MATLAB绘制三维曲面图和等高线 绘图(2)

绘制三维曲面图步骤:

1): 对数据进行处理,得到三维曲面上的点坐标组

方法有:
1、将自变量离散, x=xmin:dx:xmax y=ymin:dy:ymax
2、利用meshgrid 指令 生成 x-y 矩阵

2):利用函数z=f(x,y) 计算函数值

3) 绘图。 mesh: 绘制三维网格曲面图 surf :绘制三维颜色填充图

例1

plot3(x1,y1,z1,S1,x2,y2,z2,S2)

meshgrid

创建网格矩阵原理和方法

如绘制: z=x*exp(-x^2-y^2) 的图形


% 空间网格绘制;mesh
[x,y]=meshgrid(-2:0.2:2);
z=x.*exp(-x.^2-y.^2);
mesh(x,y,z)
colormap([0 0 1]) % 颜色

view(30,20); % 角度控制

MATLAB绘制三维曲面图和等高线 绘图(2)_第1张图片

增加代码

meshs(x,y,z)

效果:
MATLAB绘制三维曲面图和等高线 绘图(2)_第2张图片

meshz(x,y,z)

MATLAB绘制三维曲面图和等高线 绘图(2)_第3张图片

等高线的绘制

沿用相同的例子

%contour 和countour3 等高线的绘制
[x,y]=meshgrid(-2:0.2:2);
z=x.*exp(-x.^2-y.^2);
subplot(1,2,1)
contour(x,y,z,20)
subplot(1,2,2)
contour3(x,y,z,20)

MATLAB绘制三维曲面图和等高线 绘图(2)_第4张图片

总结:

如何将x,y 用函数meshgrid 离散化,是三维画图重点

参考官方文档

plot3 - 3-D line plot

This MATLAB function, where X1, Y1, Z1 are vectors or matrices, plots one or
more lines in three-dimensional space through the points whose coordinates are
the elements of X1, Y1, and Z1.

plot3(X1,Y1,Z1,...)
plot3(X1,Y1,Z1,LineSpec,...)
plot3(...,'PropertyName',PropertyValue,...)
plot3(axes_handle,...)
h = plot3(...)

你可能感兴趣的:(MATLAB,数学实验)