今天我们继续学习MATLAB中图像的绘制。
平面图形
grid on:
在图形上显示网格线。这个命令通常用于增强图形的可读性,尤其是在查看函数图形或者数据点分布时,网格线可以帮助用户更准确地判断坐标点的位置。
plot(x,y):
x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
plot(x1,y1,选项1,x2,y2,选项2,...,xn,yn,选项n):
多组折线,可选择表示折线的属性,如颜色、线型等。
以下是线型表

如:在0≤X≤2π区间内绘制曲线y=2e^(-0.5*x)*sin(2πx)
Matlab
x = 0:pi/100:2*pi;
y = 2*exp(-0.5*x).*sin(2*pi*x); % 注意这里的 .* 用于元素对元素乘法
plot(x, y, 'r'); % 使用x和y中的元素分别作为横坐标和纵坐标来绘制曲线
效果图

fplot('fun',[a,b]):
绘制fun在区间[a,b]上的图形,fun可以是函数或表达式。与上面三个不同的是,这个函数是直接绘制的函数图像,而非是由单个点连起来的折线。
同样绘制上图数据
Matlab
fplot(@(x) 2*exp(-0.5*x)*sin(2*pi*x), [0, 2*pi], 'g');

三维图形
plot3(x1,y1,z1,选项1,...,xn,yn,zn,选项n):
如:绘制三维参数曲线

Matlab
t = 0:pi/50:2*pi;
x = 8*cos(t);
y = 4*sqrt(2)*sin(t);
z = -4*sqrt(2)*sin(t);
plot3(x, y, z, 'p');
结果如图:

曲面图形
X, Y\] = meshgrid(xa, ya);绘制网格坐标矩阵 mesh(X, Y, Z);% 绘制三维网格图 ```Matlab % 定义x轴和y轴的向量 xa = -2:0.2:2; ya = xa; % 生成网格坐标矩阵 [X, Y] = meshgrid(xa, ya); % 计算高度值 Z = X .* exp(-X.^2 - Y.^2); % 绘制三维网格图 mesh(X, Y, Z); ```  surf(X, Y, Z); % 绘制三维着色表面图 ```Matlab % 定义x轴和y轴的向量 xa = -2:0.2:2; ya = xa; % 生成网格坐标矩阵 [X, Y] = meshgrid(xa, ya); % 计算高度值 Z = X .* exp(-X.^2 - Y.^2); % 绘制三维着色表面图 surf(X, Y, Z); ```  contour(X, Y, Z, \[levels\]) ;% 绘制二维等高线图,`levels` 是一个向量,包含了多个等高线级别,每个级别对应一个等高线。 ```Matlab % 定义x轴和y轴的向量 xa = -2:0.2:2; ya = xa; % 生成网格坐标矩阵 [X, Y] = meshgrid(xa, ya); % 计算高度值 Z = X .* exp(-X.^2 - Y.^2); % 绘制二维等高线图 contour(X, Y, Z); ```  contour3(X, Y, Z,\[levels\]); % 绘制三维等高线图 ```Matlab % 定义x轴和y轴的向量 xa = -2:0.2:2; ya = xa; % 生成网格坐标矩阵 [X, Y] = meshgrid(xa, ya); % 计算高度值 Z = X .* exp(-X.^2 - Y.^2); % 绘制三维等高线图 contour3(X, Y, Z); ``` 