今天我们继续学习MATLAB中图像的绘制。
平面图形
grid on:
在图形上显示网格线。这个命令通常用于增强图形的可读性,尤其是在查看函数图形或者数据点分布时,网格线可以帮助用户更准确地判断坐标点的位置。
plot(x,y):
x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
plot(x1,y1,选项1,x2,y2,选项2,...,xn,yn,选项n):
多组折线,可选择表示折线的属性,如颜色、线型等。
以下是线型表
![](https://i-blog.csdnimg.cn/direct/fc4d9de1aab744d29238460252508b42.png)
如:在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中的元素分别作为横坐标和纵坐标来绘制曲线
效果图
![](https://i-blog.csdnimg.cn/direct/46faeac13c0149d8b668b3896de71f0b.png)
fplot('fun',[a,b]):
绘制fun在区间[a,b]上的图形,fun可以是函数或表达式。与上面三个不同的是,这个函数是直接绘制的函数图像,而非是由单个点连起来的折线。
同样绘制上图数据
Matlab
fplot(@(x) 2*exp(-0.5*x)*sin(2*pi*x), [0, 2*pi], 'g');
![](https://i-blog.csdnimg.cn/direct/6fd9822e0e6d483cb64340e534959873.png)
三维图形
plot3(x1,y1,z1,选项1,...,xn,yn,zn,选项n):
如:绘制三维参数曲线
![](https://i-blog.csdnimg.cn/direct/bc1c24cfbcf143bf8022c352a1c31b1a.png)
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');
结果如图:
![](https://i-blog.csdnimg.cn/direct/d4e0493746d94687aff4ac070d1bf0e3.png)
曲面图形
[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);
![](https://i-blog.csdnimg.cn/direct/71132fc89c9c452fb9db3922c0e91683.png)
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);
![](https://i-blog.csdnimg.cn/direct/fddae567d4744d6f9ad808f47f8f5fae.png)
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);
![](https://i-blog.csdnimg.cn/direct/bd649cec187648ce95475182f73c49f0.png)
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);
![](https://i-blog.csdnimg.cn/direct/ff56b4227fe44ddcb86a691c0cc68b3e.png)