1
第三讲 Matlab中的图形图象功能
2009-7-29
2
Matlab作为数学计算软件,之所以能受到众多使用者的青睐,除了其简单准确的数值计算功能和强大的工具箱支持外,还在于其出色的可视化和图象处理功能。
Matlab软件可以将用户计算得到的数据根据其不同情况转化为相应的图形。用户可以选择直角坐标系、极坐标系;图形可以表现为平面曲线、空间曲线、直方图、向量图、柱状图及空间网面图、空间表面图等;还可以对图形作进一步加工,如标注、
添色、变换视觉、控制色图、取局部视图、切片图、
制作动画等。
2009-7-29
3
1,创建图形窗口图形窗口( Figure Window)是 Matlab的图形输出专用窗口,通过它可以查看和设置关于图形输出和表达的参数。
图形窗口的创建主要有以下几种方式:
执行一个绘图命令
plot(),plot3(),subplot(),mesh等,该命令将自动创建一个图形窗口,并覆盖当前窗口。
2009-7-29
4
figure
figure(n)
图形窗口的名称是按该窗口创建的时间顺序依次命名的,figure No.1,figure No.2……,
figure No.n,因此 figure将创建一个名为 figure
No.n+1的新的空白图形窗口。而 figure(n)将创建一个名为 figure No.n的新空白窗口,如果 figure No.n窗口存在,则将此窗口设置为当前窗口。
2009-7-29
5
Subplot(m,n,i)
多重子窗口的创建,命令将当前图形窗口分成
m× n个子图,并将第 i个子图作为当前视图,进行后续操作。每个子图都完全等同于一个完整的图形窗口,可在其中完成各种图形操作命令。这些子图按行编号,a行 b列处是第 (a- 1)n+b个子图。
分析 exam31.m及运行结果
2009-7-29
6
2.二维绘图基本二维绘图命令:
plot(Y)
命令中 y可以是向量、实数阵和复数阵
plot(X,Y)
X,Y均可以是向量和矩阵分析 exam32.m,exam33.m及运行结果。
2009-7-29
7
[x,y] = fplot(‘function_name’,limits,tol)
专门指导用于绘制一元函数曲线的数据点阵的产生,其采用内部自适应算法产生。
function_name为 Matlab内部函数或者自定义的 M函数;
limits为自变量的取值区间
tol为运算中的相对误差分析 exam33.m及运行结果
2009-7-29
8
loglog,semilogx,semilogy
plot,fplot命令只能表现出函数值 y随 x的线性变化,而对于工程和科学计算中经常出现的指数变化不能从图中直观的表现出来。 loglog,semilogx,semilogy可以很好的解决这个问题。
loglog命令将两个坐标轴分别变为 lnx,lny
semilogx命令只将横坐标轴变为 lnx
semilogy命令只将纵坐标轴变为 lny
分析 exam34.m及运行结果
2009-7-29
9
plotyy(x1,y1,x2,y2)
这个函数的命令是在相同的横坐标下,使用两个纵坐标,( x1,y1)使用左侧的纵坐标,( x2,y2)使用右侧的纵坐标。 其他使用格式和 plot()一样。
分析 exam35.m及运行结果:
2009-7-29
10
3.基本绘图控制参数
plot(X,Y,’color_linestyle_maker’),在上面基本命令格式中给出了基本参数,即:
颜色、线型和数据点。
色彩字符与色彩对应表:
y/yellow—— 黄色 m/magenta—— 洋红
c/cyan—— 青色 r/red—— 红色
g/green—— 绿色 b/blue—— 蓝色
w/white—— 白色 k/black—— 黑色
2009-7-29
11
数据点控制字符表
,—— 黑点 o —— 小圆圈
x —— 差号 + —— 十字标号
* —— 星号 S —— 小方块
H —— 六角星 D —— 钻石形
V —— 三角形(下) ^ —— 三角形(上)
< —— 三角形(右) > —— 三角形(左)
p —— 五角星
2009-7-29
12
线型控制字符表
- —— 实线,—— 点线
-,—— 点划线 -- —— 虚线分析 exam36.m及运行结果
2009-7-29
13
3.图形对象中的标注
text( x,y,’string’)
(x,y)为标注的坐标位置,string为标注字符串。
title(’ string’)
设置图形对象的标题
xlabel(’ string’)
标注 x轴,相似的有 ylabel,zlabel
Legend(‘string1’,’sring2’…,n)
显示图例分析 exam36.m,并观察运行结果
2009-7-29
14
3.三维绘图
plot3( x,y,z,s)
三维曲线命令,当 x,y,z为长度相同的向量时,此命令将画出一条分别以向量 x,y,z为 x,y,z
轴坐标值的空间曲线;当 x,y,z均为 m× n的矩阵时,将绘出 m条曲线,第 i条空间曲线分别以
x,y,z矩阵的第 i列分量为 x,y,z轴坐标值的空间曲线; s就是 plot命令中‘ color_linestyle_maker’控制字符。
分析 exam37.m,观察运行结果
2009-7-29
15
mesh()
三维网格命令,与 plot3区别在于绘出的不是单根曲线,而是一个在某一区间完整的曲面。
mesh(x,y,z)中 x,y必须为向量(长度为 m和 n),
则 z必须为 m× n的矩阵。
mesh(z)将( i,j)作为矩阵元素 z( i,j)的 x,
y轴坐标。
surf()
surf与 mesh命令的用法及使用格式相同,不同之处在于绘出的是一个真正的曲面,而不是用网格来近似表达的。
分析 exam37.m,观察运行结果
2009-7-29
16
几个改进命令
meshc(),surfc()用来在三维曲面图下方绘出等高线。
pcolor()用于绘制数据的伪彩图
surfl()用于绘制在控制光线的情况下的表面图
waterfall()用于绘制类似瀑布流水形状的网线图