Matlab绘图89048
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab绘图
强大的绘图功能是matlab的特点之一。
Matlab提供了一系列的绘图函数,用户不需过多考虑绘图细节,只需给出一些基本参数就能得到所需图形,这一类函数称为高层绘图函数。
除此之外,matlab还提供了直接对图形句柄进行操作的低层绘图操作。
这类操作将图形的每个图形元素(如坐标轴,曲线或文字等)看做是一个独立的对象,系统给每个图形对象分配一个句柄,以后可以通过该句柄对该图形元素进行操作,而不影响图形的其他部分。
高层绘图操作简单明了,方便高效,是用户最常使用的绘图方法,而低层绘图操作控制和表现图形的能力更强,为用户更加自主地绘制图形创造了条件。
事实上,matlab的高层绘图函数都是利用低层绘图函数而建立起来的。
本文主要介绍绘制三维和四维图形的高层绘图函数以及其他图形函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。
1.绘制三位曲线的基本函数
最基本的三维图形函数为plot3,它将二维绘图函数plot的有关功能扩展到三维空间,可用来绘制三维曲线。
Plot3函数与plot函数用法十分相似,其调用格式为:
Plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,….,xn,yn,zn,选项n)
其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。
当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线。
当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三位曲线,曲线条
数等于矩阵列数。
例1, 绘制空间曲线:
⎩⎨⎧=+=++0
64222z y z y x
曲线所对应的参数方程为:
⎪
⎩⎪
⎨⎧-===t
z t y t x sin 24sin 24cos 8 π20≤≤t
程序如下: 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');
title('Line in 3-D Space'); text(0,0,0,'origin');
xlabel('X'),ylabel('Y'),zlabel('Z');grid; 结果如下图所示:
X
Line in 3-D Space
Y
Z
2. 绘制三维曲面的函数
Matlab 提供了mesh 函数和surf 函数来绘制三维曲面图。
mesh 函数用于绘制三维网格图。
在不需要绘制特别精细的三维曲面图时,可以通过三维网格图来表示三维曲面。
Surf 用于绘制三维曲面图,各线条之间的补面用颜色填充。
surf 函数和mesh 函数的调用格式为: mesh(x,y,z,c) surf(x,y,z,c)
例2.用三维曲面图表现函数z=sinycosx. 程序如下: x=0:0.1:2*pi; [x,y]=meshgrid(x); z=sin(y).*cos(x); surf(x,y,z);
xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis'); title('surf'); 结果如下图:
x-axis
surf
y-axis
z -a x i s
色彩处理
1.颜色的向量表示
Matlab除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。
向量元素在[0,1]范围取值,3个元素分别表示红,绿,蓝3种颜色的相对亮度,称为RGB 三元组。
下表列出了几种常见的RGB值。
几种常见颜色的RGB值
2.色图
色图(Color Map)是matlab系统引入的概念。
在matlab中,每个图形窗口只能有一个色图。
色图是3⨯m 的数值矩阵,它的每一行是RGB三元组。
色图矩阵可
以人为地生成,也可以调用matlab提供的函数来定义色图矩阵。
表二列出了定义色图矩阵的函数,色图矩阵的维数由函数调用格式决定。
例如:
M=hot;
生成3
64⨯色图矩阵M,表示的颜色是从黑色,红色,黄色到白色的由浓到淡的颜色。
又如:P=gray(100);
生成3
100⨯色图矩阵P,表示的颜色是灰色由浓到淡。
定义色图矩阵函数
除plot及其派生函数外,mesh,surf等函数均使用色图着色。
图形窗口色图的设置和改变,使用函数:Colormap(m)
其中m代表色图矩阵。
3.三维表面图形的着色
三维表面图实际上就是在网格图的每一个网格片上涂上颜色。
Surf函数用默认的着色方式对网格片着色。
除此之外,还可以用shading命令来改变着色方式。
Shading faceted命令将每个网格片用其高度对应的颜色进行着色,但网格线仍保留着,其颜色是黑色。
这是系统的默认着色方式。
Shading flat命令将每个网格片用同一个颜色进行着色,且网格线也用相应的颜色,从而使得图形表面显得更加光滑。
Shading interp命令在网格片内采用颜色插值处理,得出的表面图显得最光滑。
例题1:3种图形着色方式的效果展示
程序如下:
Z=peaks(20);colormap(copper);
Subplot(1,3,1);surf(z);
Subplot(1,3,2);surf(z);shading flat; Subplot(1,3,3);surf(z);shading interp; 程序执行结果如下图所示:
00。