本文为MATLAB基础篇(上)的后续。
二、 MATLAB基本语法
7、基本绘图方法
Ⅰ、 MATLAB绘图的一般步骤
- 对数轴进行采样
- 对采样点计算相应的函数值, 得到平面(或空间)上的点的数据
- 运用绘图命令将数据进行图形化显示
x=-1:0.01:1; %对数轴进行采样 y=sin(1./x); %对每一个采样点, 计算对应的函数值 plot(x,y); %将x,y表示的平面上的点用直线段连接起来
画出y=sin(1/x), x∈[-1,1]的图形,如下:
Ⅱ、线型、点型和颜色
使用格式: plot(x,y,'绘图参数')
plot(x,y,'*b'); %点型为*, 颜色为蓝色 plot(x,y,':g'); %线型为虚线, 颜色为绿色 plot(x,y,'+-r'); %点型为+,线型为实线, 颜色为红色
MATLAB绘图参数表
线型 |
说明 |
点型号 |
说明 |
颜色 |
说明 |
- |
实线(默认) |
+ |
加号符 |
r |
红色 |
-- |
双划线 |
o |
空心圆 |
g |
绿色 |
: |
虚线 |
* |
星号 |
b |
蓝色 |
:. |
点划线 |
. |
实心圆 |
c |
青绿色 |
x |
叉号符 |
m |
洋红色 |
||
s |
正方形 |
y |
黄色 |
||
d |
菱形 |
k |
黑色 |
||
^ |
上三角形 |
w |
白色 |
||
v |
下三角形 |
||||
> |
右三角形 |
||||
< |
左三角形 |
||||
p |
五角星 |
||||
h |
六边形 |
Ⅲ、多条曲线的绘制
有多种方法在一张图上显示多条曲线, 这里介绍两种方法
(1)用plot(x1,y1,x2,y2,…)命令
t=0:0.5:4*pi; y=exp(-0.1*t).*sin(t); y1=exp(-0.1*t).*sin(t+1); plot(t,y,t,y1);
(2)用hold on命令
在执行一次绘图命令合, 使用hold on命令保持当前画板, 使得后面绘制的图形在当前画板上.
t=0:0.5:4*pi; y=exp(-0.1*t).*sin(t); y1=exp(-0.1*t).*sin(t+1); plot(t,y); hold on plot(t,y1); hold off
Ⅳ、三维曲线和曲面
(1)绘制三维曲线
格式: plot3(x,y,z)
z=0:0.1:4*pi; x=cos(z); y=sin(z); plot3(x,y,z);
(2) 绘制三维曲面
步骤:
- 分别对x,y轴进行采样;
- 生成x-y平面网格;
- 计算网格点对应的z值;
- 用三维曲面绘图命令绘图
x=-8:0.5:8; y=-8:0.5:8; [X,Y] = meshgrid(x,y); R = sqrt(X.^2+Y.^2)+eps; Z = sin(R)./R; mesh(X,Y,Z);
注:在上述公式中,eps是一个非常小的数,通常被称为“机器精度”(machine epsilon)。它用于避免在计算机程序中出现除以零的错误
常用绘图命令
plot |
线性X-Y坐标绘图 |
legend |
标注图例 |
axis |
控制坐标轴比例和外观 |
plot3 |
三维曲线作图 |
hold on |
保持当前画板 |
meshgrid |
生成网格 |
hold off |
释放当前画板 |
mesh |
三维曲面作图 |
title |
标题 |
surf |
三维曲面作图 |
xlabel |
X轴标注 |
meshc |
加等高线的三维曲面作图 |
ylabel |
Y轴标注 |
surfc |
加等高线的三维曲面作图 |
textt |
在图上标文字 |
contour |
平面等高线 |
grid on |
图上加坐标网格 |
contour3 |
三维等高线 |
grid off |
去掉网格 |
subplot |
子图 |