Matlab绘图

上传人:豆**** 文档编号:115065159 上传时间:2022-06-30 格式:PPT 页数:147 大小:4.12MB
收藏 版权申诉 举报 下载
Matlab绘图_第1页
第1页 / 共147页
Matlab绘图_第2页
第2页 / 共147页
Matlab绘图_第3页
第3页 / 共147页
资源描述:

《Matlab绘图》由会员分享,可在线阅读,更多相关《Matlab绘图(147页珍藏版)》请在装配图网上搜索。

1、基本绘图方法1 概述及图形窗口的控制2 基本二维绘图3 格式化绘图4 特殊图形函数5 基本三维绘图6 保存和输出图形7 图像显示与动画制作8 其它重要函数21 概述及图形窗口的控制 MATLAB的数据可视化 数据的可视化不仅仅是二维的,还可以在三维空间展示数据 图形的绘制必须在图形窗中进行 当前图形窗 通常只要执行了任意一种绘图命令,图形窗口(Figure)就会自动产生。此时,所生成的图形窗口称为当前图形窗,绘图命令所绘制的图形将在当前图形窗中完成31 概述及图形窗口的控制 在MATLAB中进行数据可视化的过程步骤 准备需要绘制在MATLAB图形窗体中的数据 创建图形窗体,并选择绘制数据的区域

2、 使用MATLAB的绘图函数绘制图形或者曲线 设置曲线的属性 设置绘图区域的属性并添加数据网格线 为绘制的图形添加标题、轴标签或者标注文本等 打印或者导出图形4图例51 概述及图形窗口的控制【1】figure命令 格式:figure 或 figure(N) 功能:创建一个图形窗口。使编号为N的图形窗口成为当前图形窗口,即图形窗口处于可视状态。如果窗口N不存在,则将创建一个句柄为N的图形窗口61 概述及图形窗口的控制【2】clf命令 格式:clf 功能:清除当前图形窗口中的所有的内容例 x=-pi:pi/10:pi; y=sin(x); plot(x,y)clf71 概述及图形窗口的控制【3】c

3、lose命令 格式一:close 功能: 关闭当前图形窗口 格式二: close (N) 功能: 关闭指定编号N的图形窗口 格式三:close all 功能: 关闭所有图形窗口82 基本二维绘图 2.1 基本绘图指令 2.2 设置曲线的样式属性 2.3 使用子图 2.4 控制绘图区域 2.5 图形编辑器92.1 基本绘图指令 绘制函数plot函数 函数能够将向量或者矩阵中的数据绘制在图形窗体中,并且可以指定不同的线型和色彩 同一个plot函数可以一次绘制多条曲线 基本语法格式 绘制一条曲线 plot(x, y, color_linestyle_marker) 绘制多条曲线 plot(t,y1,

4、y2,) plot(x1,y1,clm1,x2,y2,clm2, )102.1 基本绘图指令例1:绘制一条曲线 x=0:pi/1000:2*pi; y=sin(2*x+pi/4); plot(x,y)11clear,close allx=(0:0.1:8*pi);y1=sin(x);y2=sin(x)+1;y3=sin(x)+2;plot(x,y1 ;y2;y3 )122.1 基本绘图指令figurex= 0:0.1:8*pi;t= 0:0.2:6*pi;y=sin(x);y2=sin(t);plot(x,y,x,y+1,t,y2+2)例例2:绘制多条曲线:绘制多条曲线13 当只输入一个向量参

5、数时,向量的下标作为x轴数据,向量元素值作为y轴数据 close all X=0:2:20; plot(X)142.2 设置曲线的样式属性色彩(色彩(c)说明说明线型(线型(l)说明说明点型点型/标记(标记(m)说明说明y黄色黄色-实线实线.点点m品红品红-长划线长划线O圆圈圆圈c青色青色:虚线虚线x十字十字r红色红色-.点划线点划线+加号加号g绿色绿色*星号星号b蓝色蓝色上三角上三角w白色白色v下三角下三角k黑色黑色右三角右三角 t=0:pi/20:2*pi; y=sin(t); y1=sin(t-pi/2); y2=sin(t-pi); plot(t,y, rv-. ,t,y1, -ys

6、,t,y2, o:g )162.2 设置曲线的样式属性 若使用plot函数时不要指定线型,则绘制的曲线将不被点连接起来 例4figure t=0:pi/20:2*pi; y=sin(t); y1=sin(t-pi/2); y2=sin(t-pi); plot(t,y,cv ,t,y1,ks,t,y2,om)172.2 设置曲线的样式属性使用命令grid,可以将图形窗体的轴在有网格线和无网格线之间切换grid on图形窗体的轴显示坐标网格线grid off图形窗体的轴不显示坐标网格线182.2 设置曲线的样式属性 例5: t=0:pi/20:2*pi; y=sin(t); y1=sin(t-pi

7、/2); y2=sin(t-pi); plot(t,y,cv ,t,y1,ks,t,y2,om) grid ongrid off192.2 设置曲线的样式属性 使用命令hold,可以将图形窗体在锁定状态与非锁定状态之间进行切换 hold on图形窗体处于锁定状态 可以向已经存在曲线的图形窗体中增加曲线 hold off图形窗体处于非锁定状态 任何绘图操作都将清除当前图形窗体已经绘制的内容202.2 设置曲线的样式属性例6:close all t=0:pi/20:2*pi; y=sin(t); plot(t,y,cv-. ) hold on y1=sin(t-pi/2); plot(t,y1,-

8、ks)212.3 使用子图子图的功能可以将图形窗体划分为多个图形显示区域,每个区域彼此独立。使用子图的方法用subplot函数选择绘制区域subplot函数的基本用法 subplot(m,n,p)或者subplot(mnp) m图形窗体分割的行数 n图形窗体分割的列数 p选定的窗体区域的序号222.3 使用子图例7: close all x=0:.1:2*pi; figure(1);clf; subplot(2,2,1);plot(1:10);grid on; subplot(2,2,2);plot(x,sin(x);grid on; subplot(2,2,3);plot(x,exp(-x)

9、,r);grid on; subplot(2,2,4);plot(x,cos(x); grid on;23合并子图subplot(2,2,1 3)subplot(2,2,2)subplot(2,2,4)242.4 控制绘图区域 控制绘图区域就是控制轴的显示区域 利用axis函数,用户可以修改轴显示的范围、轴的标注 格式: axis(xmin xmax ymin ymax)25另外,该命令还可以带上参数,实现常用的坐标轴操另外,该命令还可以带上参数,实现常用的坐标轴操作,例如:作,例如:axis auto 返回坐标轴刻度为缺省值,自动模式。返回坐标轴刻度为缺省值,自动模式。axis manual

10、 冻结为当前设定的刻度冻结为当前设定的刻度axis ij 置为置为“矩阵矩阵” 坐标模式坐标模式(原点在左上角原点在左上角)axis xy 置为缺省的笛卡尔坐标模式置为缺省的笛卡尔坐标模式axis equal 设置设置x,y,z三轴的刻度增量相同三轴的刻度增量相同axis square 设置当前坐标框为正方形设置当前坐标框为正方形axis normal 将当前轴系恢复为全尺寸状态将当前轴系恢复为全尺寸状态(恢复恢复 square / equal的操作的操作)axis off 关闭坐标轴标签、刻度和背景的显示关闭坐标轴标签、刻度和背景的显示axis on 打开坐标轴标签、刻度和背景的显示打开坐标

11、轴标签、刻度和背景的显示262.4 控制绘图区域例8 axis函数使用示例 close all x=0:pi/100:pi/2; y=tan(x); plot(x,y, ro); grid on%= axis(0,pi/2,0,5)272.4 控制绘图区域 在设置坐标轴的范围时,若将坐标轴取值设定为inf,则表示该坐标轴的范围为自动设定 例9: x=-pi:pi/10:pi; y=cos(x); plot(x,y,-r); grid on;%= axis(-pi,pi,-inf,inf)282.5 图形编辑器MATLAB的图形窗体进入编辑模式后,可以向其中的对象添加文本、箭头、直线等,还可以利

12、用编辑工具完成图形对象的编辑工作29新图形新图形打开图形打开图形保存图形保存图形打印图形打印图形打开图形编辑器打开图形编辑器放大放大缩小缩小平移平移旋转旋转浏览数据浏览数据删除删除选择数据选择数据链接变量和表达式链接变量和表达式颜色条颜色条图例图例隐藏工具栏隐藏工具栏显示工具栏显示工具栏30属性编辑器 Axis31x=-pi:pi/10:pi;y=sin(x);plot(x,y)删除删除/拷贝当前对象拷贝当前对象 激活绘图编辑器并选择对象激活绘图编辑器并选择对象(正弦波曲线正弦波曲线) Ctrl-x - 剪切对象剪切对象 Ctrl-c - 复制对象复制对象 Delete - 删除对象删除对象3

13、233拷贝到剪贴板拷贝到剪贴板-4-3-2-101234-1-0.8-0.6-0.4-0.200.20.40.60.813 格式化绘图格式化绘图是指在MATLAB的图形窗体中,为MATLAB的图形对象添加必要的注释、标题或者其他文本信息MATLAB图形窗体的文本信息主要包括:图形标题文本注释轴标签图例343.1、添加图形标题使用函数title添加图形标题title(string)标题将被自动地设置在轴的正中顶部例10 figure x=-pi:pi/10:pi; y=cos(x); plot(x,y,-r); grid on; axis(-pi,pi,-inf,inf) title(余弦函数)

14、353.2、添加图例图例作为绘制轴的数据曲线的说明,默认绘制在轴的右上角处绘制在轴内曲线的色彩、样式和标识在绘制图例的地方为每一个曲线添加简要的说明文字格式Legend(string1,string2,)363.2、添加图例例11t=0:pi/20:2*pi;y=sin(t);y1=sin(t-pi/2);y2=sin(t-pi);plot(t,y, bv-. ,t,y1,-ks,t,y2,o:m)grid onlegend(y=sin(t),y=sin(t-pi/2),y=sin(t-pi)373.3、添加坐标轴标签MATLAB坐标轴的标签用来说明与坐标轴有关的信息,也可以包含各种需要添加的

15、信息MATLAB可以为不同的坐标轴添加不同的坐标信息使用函数xlabel、ylabel、zlabel分别为图形窗体的X轴、Y轴和Z轴添加轴标签xlabel(string)ylabel(string)zlabel(string)383.3、添加坐标轴标签例12 close all t=0:pi/20:2*pi; y=sin(t); y1=sin(t-pi/2); y2=sin(t-pi); plot(t,y,cv-. ,t,y1,-ks,t,y2,o:m) grid on xlabel(X轴数据);ylabel(Y轴数据)393.4、添加文本注释文本注释是由创建图形的用户添加的说明行文字使用函数

16、text向图形窗体添加文本注释text(x,y,string)x和y是文本注释添加的坐标值403.4、添加文本注释例13 x=0:.1:2*pi; y=sin(x); plot(x,y, -*) grid on text(pi/3,sin(pi/3), other_axes52复数的绘图 当plot(z)中的z为复数变量时(即含有非零的虚部),MATLAB把复数的实部作为横坐标、虚部作为纵坐标绘图,即相当于plot(real(z),imag(z)。 当双变量时,虚部被舍弃53复数的绘图close all,figuret=0:0.5:20*pi;z=exp(-0.1+i)*t);subplot(

17、2,2,1)plot(z) title(复数绘图plot(z)subplot(2,2,2)plot(t,z) title(复数绘图plot(t,z)subplot(2,2,3)polar(angle(z),abs(z)title(极坐标)544.2 绘制特殊图形特殊图形条状图面积图饼图离散数据图矢量方向图等高线图通过调用特殊图形函数完成特殊图形的绘制554.2.1 条状图绘制条状图bar: 格式: bar(Y) 功能:为Y中的每个元素绘制二维条状图,若Y为矩阵,按行分小组564.2.1 条状图例15%bar_ex 条状图示例y=10 2 7 5;data=10 2 3 5;5 8 10 3;9

18、 7 6 1 ;3 5 7 2;4 7 5 3;subplot(2,2,1);bar(y);grid on;title(垂直条状图(向量);subplot(2,2,3 4);bar(data);grid on;title(垂直条状图(矩阵);57584.2.2 面积图 面积图的函数area: 格式:area(Y) 功能:将Y的元素显示为一条或多条曲线,并将下方填充起来。若Y为矩阵曲线将被堆起来,显示在每个x间隔内的为矩阵中每行元素对曲线高度的相对贡献594.2.2 面积图 例16:%area_ex 面积图示例y=10 2 7 5;data=10 2 7 5;5 8 10 3;9 7 6 1 ;

19、3 5 7 2;4 7 5 3subplot(2,1,1);area(y);grid on;title(面积图(向量);subplot(2,1,2);area(data);grid on;title(面积图(矩阵);60data = 10 2 7 5 5 8 10 3 9 7 6 1 3 5 7 2 4 7 5 3614.2.3 饼图饼图是用来显示向量或矩阵元素占用所有元素和的百分比分类二维饼图用函数pie绘制三维饼图用函数pie3绘制624.2.3 饼图例17:饼图示例% pie_ex饼图示例A=sum(rand(5,5)subplot(2,2,1);pie(A);title(完整饼图(2D

20、);subplot(2,2,2);pie3(A);title(完整饼图(3D);B=0.18 0.22 0.35subplot(2,2,3);pie(B);title(缺角饼图(2D);subplot(2,2,4);pie3(B);title(缺角饼图(3D);6364x = 1 3 0.5 2.5 2;explode = 0 1 0 0 0;pie(x,explode)legend(1,2,3,4,5)4.2.4 离散数据图MATLAB提供了一些函数用来绘制离散数据常用的离散数据图有火柴杆图使用stem函数阶梯图使用stairs函数654.2.4 离散数据图例18:离散数据图示例% STEM

21、_EXAMP离散数据图示例alpha=.01;beta=.5;t=0:0.2:10;y=exp(-alpha*t).*sin(beta*t);stem(t,y,r);grid on;hold on;stairs(t,y,g);plot(t,y,b);6667数据插值 插值技术可以通过少量的实测数据来评估系统的行为, 因此被广泛使用. 以下的MATLAB 命令就是为此目的准备的:6869结果中结果中y_fit 并不是最初给的并不是最初给的y 值,因为这是数据插值的结果。值,因为这是数据插值的结果。多项式拟合 polyfit 用于对给定的x 和y 数据进行多项式拟合。polyfit 也可以计算多项

22、式的值。70 x = 0:.1:10;y = sin(x)+cos(2*x);k5 = polyfit(x,y,5);y5 = polyval(k5, x);k11 = polyfit(x,y,11);y11 = polyval(k11, x);plot(x,y,g,x,y5,r,x, y11,b)基本拟合工具 MATLAB 通过基本拟合界面( Basic Fitting Interface )可以进行曲线拟合。在该界面下,可以迅速地完成一些基本的曲线拟合任务。71在该界面下,可以:在该界面下,可以: 使用使用3次样条曲线(次样条曲线(cubic spline)或最高)或最高10阶的阶的多项式

23、拟合数据。多项式拟合数据。 对一组给定的数据,同时画出多条拟合曲线对一组给定的数据,同时画出多条拟合曲线 画出拟合残差曲线。画出拟合残差曲线。 查看拟合的数值结果。查看拟合的数值结果。 对拟合曲线求值(内插或外推)。对拟合曲线求值(内插或外推)。 用拟合数值结果和残差的范数标注图形。用拟合数值结果和残差的范数标注图形。 把拟合的结果保存到把拟合的结果保存到MATLAB 工作区。工作区。72注意:要使用这个界面上更多的功能,点击注意:要使用这个界面上更多的功能,点击右边的选择箭头,右边的选择箭头, 界面将会扩展。界面将会扩展。73数据统计工具745 基本三维绘图三维图形的主要功能5.1 绘制三维

24、线图5.2 绘制三维网线图5.3 绘制三维曲面图5.4 图形修饰755.1 绘制三维线图使用plot3函数绘制三维线图该函数能够将X、Y、Z坐标绘制在三维的空间基本语法:Plot3(xdata1,ydata1,zdata1,clm1, xdata2,ydata2,zdata1,clm2,)765.1 绘制三维线图例19 简单三维绘图%PLOT_3D简单三维绘图% 准备数据z=0:0.1:40;x=cos(z);y=sin(z);clf;% 绘制曲线plot3(x,y,z)77 % 添加标注 grid on title(using PLOT3) xlabel(x) ylabel(y) zlabe

25、l(z)785.2 绘制三维网线图使用mesh函数绘制三维网线图常用的调用格式:mesh(z) mesh(x,y,z)795.2 绘制三维网线图mesh(z):z为mn的矩阵Z坐标矩阵中元素的值X与Y坐标矩阵中元素的下标X1:n,对应矩阵的列Y1:m,对应矩阵的行80例20: Z=1 2 3;4 5 6 Z = 1 2 3 4 5 6 mesh(Z)X=1, Y=1, Z=1X=2, Y=1, Z=2X=3, Y=1, Z=3X=1, Y=2, Z=4X=2, Y=2, Z=5X=3, Y=2, Z=6 列 行 元素的值5.2 绘制三维网线图绘制三维网线图815.2 绘制三维网线图 若知道的是

26、函数形式,而不是矩阵值的形式? 显然,当x,y为向量的时候,所得到的z亦为向量,当x,y为矩阵的时候,所得z为矩阵。2,2,)sin(2222yxyxyxz82 如果想绘制三维图,需要求得在x,y 在-2,2 范围内任意到组合并代入函数求对应的z值。 因此,我需要X = -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2Y = -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2835.2 绘制三维网线图例:sinRx=-2:0.5:2;y=xX=ones(si

27、ze(y)*xY=y*ones(size(x)R=sqrt(X.*X+Y.*Y);z=sin(R)./Rmesh(X,Y,z)845.2 绘制三维网线图例21:sinR_Rx=-8:0.5:8;y=xX=ones(size(y)*x;Y=y*ones(size(x);R=sqrt(X.*X+Y.*Y);z=sin(R)./Rmesh(X,Y,z)85mesh(X,Y,Z) X, Y, Z分别为三维空间的坐标位置 其中: X,Y,Z是mn的矩阵例:绘制z=x2+y2的三维网线图作图要领生成坐标用函数meshgrid(网线坐标值计算函数)生成坐标X,Y X,Y = meshgrid(x,y) 表达

28、式运算 计算坐标 Z = F(X,Y)mesh(X,Y,Z)默认方位角:-37.5,俯角30。Meshgrid函数的作用是产生以x及y(均为向量)为基准的栅格点,其输出为X及Y,分别代表栅格点的x坐标及y坐标5.2 绘制三维网线图绘制三维网线图865.2 绘制三维网线图例22:绘制z=x2+y2的三维网线图 x = -5 : 5; y = x; X,Y = meshgrid(x,y) Z = X.2+Y.2 mesh(X,Y,Z)坐标矩阵坐标向量坐标矩阵绘图函数875.2 绘制三维网线图mesh(X,Y,Z)885.2 绘制三维网线图mesh函数还有meshc和meshz函数两种变形meshc

29、函数用来绘制具有等高线性质的mesh网线meshz函数用来绘制mesh网线的参考面 meshc(Z) meshz(Z)895.3 绘制三维曲面图使用surf函数绘制三维曲面图调用格式:surf(z)surf(x,y,z)与三维网线图的区别:网线图:线条有颜色,空挡是无色的曲面图:线条是黑色的,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化)905.3 绘制三维曲面图例: z=1 2 3;4 5 6z = 1 2 3 4 5 6 surf(z)和三维曲线比较915.3 绘制三维曲面图例:绘制z=x2+y2的三维曲面图 x = -5 : 5; y = x; X,Y = meshgrid

30、(x,y);Z = X.2+Y.2; surf(X,Y,Z)和三维曲线比较925.3 绘制三维曲面图例:绘制 三维曲面图 x = linspace(-2, 2, 25); y = linspace(-2, 2, 25);X,Y = meshgrid(x, y); Z= X.*exp(-X.2-Y.2); surf(X,Y,Z)22yxXeZ935.3 绘制三维曲面图surf函数有一种变形surfc函数绘制具有等高线性质的surf曲面945.4 视角修饰 视角修饰 观察不同角度的三维视图,用于网线图、曲面图 使用函数view(az,el)进行视角修饰 az -方位角;el - 俯仰角 省缺值为:

31、az=-37.5; el=30,单位为角度955.4 视角修饰 视图函数view 格式一:view(az, el) 或 view(az,el ) 功能:设置观察者观察三维图形的视角。az是方位角, el是俯仰角, 方位角:即从Y轴负方向算起逆时针水平旋转 角度 俯仰角:水平面上为正,反正为负。965.4 视角修饰 格式二:view(2) 或 view(3) 功能:设置观察三维图形视角的默认值(view(2) : az=0,el=90; view(3) : az=-37.5,el=30) 格式三:az, el=view 功能:返回当前的方位和视角975.6图形颜色的修饰 图形颜色可根据需要任意生

32、成,也可用MATLAB配备的色图函数 shading faceted 网格修饰,缺省方式 shading flat 去掉黑色线条,根据小方块的值确定颜色 shading interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色985.6图形颜色的修饰例: z=peaks(30); surf(z)peaks函数可产生一个函数可产生一个凹凸有致的曲面,该曲凹凸有致的曲面,该曲面包含三个局部极大点面包含三个局部极大点和三个局部极小点和三个局部极小点995.6图形颜色的修饰1、shading flat 去掉黑色线条,根据小方块的值确定颜色 shading flat1005.6 图形颜色的修

33、饰2、 shading interp 颜色整体改变,根据小方块四角的值差补过度点的值确定颜色 shading interp 1015.6 图形颜色的修饰3、 shading faceted 网格修饰,缺省方式 shading faceted1025.7 图形透视与消隐的修饰 hidden on :消隐(默认) hidden off :透视1035.7 图形透视与消隐的修饰 hidden on hidden off 例: x = -5 : 5; y = x; X,Y = meshgrid(x,y) Z = X.2+Y.2 mesh(X,Y,Z)1045.7 图形透视与消隐的修饰 hidden o

34、ff1056 保存和输出图形MATLAB提供了将图形窗体中的内容输出到图形文件,或者将图形打印出来的功能内容保存和打开图形文件导出文件拷贝图形文件1066.1 保存和打开图形文件MATLAB提供了一种文件格式用来保存MATLAB的图形文件,这种文件的扩展名为*.fig扩展名为.fig的图形格式的文件只能在MATLAB中使用1076.1 保存和打开图形文件保存和打开图形文件的方法第一种方法 保存: 在图形窗体中选择“File”菜单下的“Save”命令,或直接单击工具栏上的保存按钮,在弹出的对话框中选择保存类型为.fig,输入文件名,然后单击“保存”按钮1086.1 保存和打开图形文件打开:(1)

35、通过菜单命令或工具栏的按钮可以完 成操作(2)在MATLAB的Current Directory窗口中双击文件名1096.1 保存和打开图形文件第二种方法:MATLAB为保存和打开图形提供了相应的命令 保存:使用saveas函数 saveas(h,filename.ext); saveas(h,filename,format); h图形的句柄 filename保存的文件名 ext文件保存的格式 format直接说明文件的保存格式,图形文件的扩展名mmfig1106.1 保存和打开图形文件 例: close all x = linspace(-2, 2, 25); y = linspace(-2

36、, 2, 25); X,Y = meshgrid(x, y); Z= X.*exp(-X.2-Y.2); surf(X,Y,Z) colorbar saveas(1,saveas_xexp.fig) view(0,30) saveas(1,saveas_xexp2,fig)1116.1 保存和打开图形文件打开: 使用open函数。Open函数根据文件的扩展名不同而调用相应的辅助函数文件 Open(filename.ext)例:close allopen(saveas_xexp.fig)1126.2 导出文件MATLAB的图形窗口还可以将图形文件保存成其他的特殊图形格式文件第一种:执行图形窗体“

37、File”菜单下的“Export”命令,然后在对话框中选择需要导出的图形文件格式,给出文件名,单击“保存”按钮1136.2 导出文件MATLAB支持的图形文件格式文件类型文件类型扩展名扩展名文件类型文件类型扩展名扩展名增强型图元文件增强型图元文件emfTIFF图形文件图形文件tif位图位图bmpTIFF格式非压缩文件格式非压缩文件tifEPS文件文件eps便携式网络图像格式便携式网络图像格式pngEPS色彩文件色彩文件eps24位位图文件位位图文件pcxEPS二级文件二级文件eps便携式位图便携式位图pbmEPS二级色彩文件二级色彩文件eps便携式灰度图便携式灰度图pgmAdobe Illus

38、trator文文件件ai便携式像素图便携式像素图ppmJPEG图形文件图形文件jpg1146.2 导出文件将图形文件保存成其他的特殊图形格式文件的方法第一种:执行图形窗体“File”菜单下的“Export”命令,然后在对话框中选择需要导出的图形文件格式,给出文件名,单击“保存”按钮第二种:使用saveas函数 saveas(h,filename.ext); saveas(h,filename,format);1151167、图像显示与动画制作、图像显示与动画制作图像显示图像显示1、图像的读、图像的读/写写 用用imread函数读取图像,调用格式为:函数读取图像,调用格式为: (1) x=imr

39、ead(filename,fmt)filename是图像的文件名,是图像的文件名,fmt指定图像文件的格式。指定图像文件的格式。 (2) x,map= imread(filename,fmt)117 (1)图像由数据矩阵和色彩矩阵组成;矩)图像由数据矩阵和色彩矩阵组成;矩阵阵x是由图像文件中读出并转化为是由图像文件中读出并转化为MATLAB可可识别的图像格式的数据;若图像为灰度图像,识别的图像格式的数据;若图像为灰度图像,则则x为二维矩阵,若图像为真彩色,则为二维矩阵,若图像为真彩色,则x是三维是三维矩阵。矩阵。 (2)MATLAB支持的图像文件格式:支持的图像文件格式: .bmp: wind

40、ows位图文件位图文件 .jpg/ .jpeg: 联合图像专家组联合图像专家组 .tif说明:说明:118a=imread(jlu.jpg);size(a)如:如:运行结果运行结果ans = 208 208 3119 在在MATLAB中,用中,用imwrite函数把图函数把图像数据像数据x输出到文件输出到文件filename;调用格式;调用格式为:为: imwrite(x,filename,fmt)1202.图像的显示图像的显示image函数用于图像显示;调用格式为:函数用于图像显示;调用格式为: image(x) 为了保证图像的显示效果,一般还为了保证图像的显示效果,一般还应使用应使用col

41、ormap函数设置图像色图。函数设置图像色图。121例例 图像的显示图像的显示close allload trees;image(X),colormap(map) figurex1,map1=imread(forest.tif);image(x1),colormap(map1) figureimshow trees.tif122 5.7.2 动画制作动画制作 动画的两种形式动画的两种形式: (1)影片动画影片动画 (2)实时动画)实时动画 1、影片动画制作、影片动画制作(1) getframe函数函数 getframe函数可截取每一幅画面信息而形成函数可截取每一幅画面信息而形成一个很大的列向量

42、。该向量可保存到一个变量一个很大的列向量。该向量可保存到一个变量中。显然,保存中。显然,保存n幅图就需一个大矩阵。幅图就需一个大矩阵。123(3) movie函数函数 movie(m,p)函数播放由矩阵函数播放由矩阵m的列向量所组的列向量所组成的画面成的画面p次。次。(2) moviein函数函数 moviein(n)函数用来建立一个足够大的函数用来建立一个足够大的n列列矩阵。该矩阵用来保存矩阵。该矩阵用来保存n幅画面的数据,以备幅画面的数据,以备播放。播放。124 clearx,y,z=sphere(50); m=moviein(30) ; %建立一个建立一个30列大矩阵列大矩阵 for i

43、=1:30 surf(i*x,i*y,i*z); %绘制球面绘制球面 axis(-30 30 -30 30 -30 30) m(:,i)=getframe; %将球面保存到将球面保存到m矩阵矩阵 end movie(m,2); %播放球面播放球面2次。次。例例5.38 播放一个直径不断变化的球体。播放一个直径不断变化的球体。程序如下:程序如下:125 clear x,y,z=sphere(50); m=moviein(30) ; %建立一个建立一个30列大矩阵列大矩阵 for n=1:30 t=0:pi/100:1.5*pi; R=cos(n/10)*sin(t)+2; cylinder(R)

44、; m(:,n)=getframe; end movie(m,2); 126clearm=moviein(30) ; %建立一个建立一个30列大矩阵列大矩阵 for n=1:30 t=0:pi/100:1.5*pi; R=cos(n/10)*sin(t)+2; cylinder(R); m(:,n)=getframe; end movie(m,2); 1272.实时动画制作实时动画制作 利用图形的利用图形的erasemode属性可以实现显示新对象,属性可以实现显示新对象,擦除旧对象,并且不破坏背景图案。擦除旧对象,并且不破坏背景图案。3种擦除方式:种擦除方式:(1)None :不做任何擦除,直

45、接在原图形上绘制。不做任何擦除,直接在原图形上绘制。(2)Background:擦除原图形对象,并将原图形的颜色设为擦除原图形对象,并将原图形的颜色设为背景。背景。(3)Xor: 对象的绘制和擦除由该对象颜色与屏幕颜色的异对象的绘制和擦除由该对象颜色与屏幕颜色的异或决定。或决定。128例例5.39 模拟布朗运动。模拟布朗运动。n=30;s=0.02;x=rand(n,1)-0.5;y=rand(n,1)-0.5;h=plot(x,y,.);axis(-1,1,-1,1);axis square,grid offset(h,erasemode,xor,markersize,20);for i=l

46、inspace(1,10,5000) drawnow %刷新屏幕刷新屏幕 x=x+s*randn(n,1);y=y+s*randn(n,1); set(h,xdata,x,ydata,y);end1get功能:获得图形对象的特性。功能:获得图形对象的特性。格式:格式:get(h)get(h,PropertyName) a=get(O,FactoryObjectTypePropertyName)P=get(H, pn) a=get(h,Default)a=get(0, Factory) a=get(h,DefaultObjectTypePropertyName) 8、其它重要函数、其它重要函数1

47、29说明:说明:get(h)可获得由可获得由h指定的图形对象的所有特性及其当前值;指定的图形对象的所有特性及其当前值;get(h,PropertyName)只得到指定的特性值;在只得到指定的特性值;在P=get(H, pn)中,中,H为为m维向量,表示多个图形对象,维向量,表示多个图形对象,pn为为n元阵列,表示元阵列,表示多个特性名称,多个特性名称,P为为mn矩阵,则矩阵,则P中得到了各个图形对象的中得到了各个图形对象的特性值。特性值。a=get(0,Factory)可得到用户可设置特性的出厂值可得到用户可设置特性的出厂值(生产生产厂家指定值厂家指定值),a为一种结构,其域名为对象特性名,域

48、值为其为一种结构,其域名为对象特性名,域值为其特性值。当不指定输出变量时,则特性值。当不指定输出变量时,则MATLAB直接将结果显示在直接将结果显示在屏幕上;屏幕上;a=get(O,FactoryObjectTypePropertyName)可得到可得到指定对象类型的指定特性的出厂值,例如:指定对象类型的指定特性的出厂值,例如: 130 a=get(O,FactoryFigureColor)可得到图形颜色的出厂值。可得到图形颜色的出厂值。a=get(h,Default)可得到指定对象可得到指定对象h的当前缺省值;的当前缺省值; a=get(h,DefaultObject-TypePropert

49、yName)可得到可得到指定对象类型的指定特性的缺省值,例如:指定对象类型的指定特性的缺省值,例如:A=get(h,DefaultFigureColor)可得到图形颜色的缺省值。可得到图形颜色的缺省值。 1312set功能:设置图形对象的特性。功能:设置图形对象的特性。格式:格式:set(H,PropertyName, PropertyValue, ) set(H,pn,pv, )set(H,a) set(H,pn,P) 132说明:说明:set(H,PropertyName, PropertyValue, )可对可对由由H指示的对象设置指定的特性,指示的对象设置指定的特性,H可以是向量,这可

50、以是向量,这时可设置多个对象的特性;在时可设置多个对象的特性;在set(H,a)中,中,a为结构阵为结构阵列,这样可对多个对象设置多个特性;在列,这样可对多个对象设置多个特性;在set(H,pn,pv, )中,中,pn为为n元阵列,用来指定多个特元阵列,用来指定多个特性,性,pv也为也为n元阵列,用来指定相应的特性值;在元阵列,用来指定相应的特性值;在set(H,pn,P)中,中,P为为mn元的单元阵列,用于指定多元的单元阵列,用于指定多个对象的多个特性。个对象的多个特性。 133set函数还有一些其它格式,这里不再赘述,函数还有一些其它格式,这里不再赘述,详见详见set函数的在线帮助。函数的

51、在线帮助。例如,要将当前坐标系的颜色设置成蓝色,例如,要将当前坐标系的颜色设置成蓝色,则可输入则可输入set(gca, Color, b)要将图中所有的线颜色改成黑色,则输入要将图中所有的线颜色改成黑色,则输入set(findobj(Type, line), Color, k) 1343rotate功能:沿着指定方向旋转对象。功能:沿着指定方向旋转对象。格式:格式:rotate(h,direction,alpha)rotate(,origin)说明:说明:rotate可在三维空间上按右手准则旋转图形对象。可在三维空间上按右手准则旋转图形对象。rotate(h,direction,alpha)可

52、将指定对象可将指定对象h旋转旋转alpha度,度,direction为二元或三元向量,它与原点相连构成旋转轴。如在三维空间为二元或三元向量,它与原点相连构成旋转轴。如在三维空间上,由上,由P点和原点构成旋转轴,旋转方向由右手准则确定,如图点和原点构成旋转轴,旋转方向由右手准则确定,如图所示。所示。 135图形对象旋转轴和旋转方向图形对象旋转轴和旋转方向 originAxis of rotation136rotate(, origin)可用三元向量可用三元向量origin指定旋转原点,缺省时旋转指定旋转原点,缺省时旋转原点处于绘图框的中心。原点处于绘图框的中心。例如,对于多峰函数例如,对于多峰函

53、数peaks,我们可通过旋转得到不同的视图,输入,我们可通过旋转得到不同的视图,输入 zdir=0 0 1; center=10 10 0; figure(1); subplot(2,2,1), surf(peaks); 原图原图 subplot(2,2,2), h2=surf(peaks); 中心在原点,沿中心在原点,沿z轴旋转轴旋转90 rotate(h2,zdir,90) subplot(2,2,3), h3=surf(peaks); 中心在原点,沿中心在原点,沿z轴旋转轴旋转90 rotate(h3,zdir, -90) subplot(2,2,4), h4=surf(peaks);

54、中心在中心在(10,10,0),沿,沿z轴旋转轴旋转90 rotate(h4,zdir,90,center) 137图图3.65 多峰曲面的旋转多峰曲面的旋转 050050-10010050050-10010050050-10010-50050050-100101384colormap功能:设置和获取当前图形的颜色板。功能:设置和获取当前图形的颜色板。格式:格式:colormap(map)colormap(default)cmap=colormap 139说明:说明:颜色板是一个颜色板是一个m3的矩阵,其值在的矩阵,其值在0.01.0之间,分别表示之间,分别表示红、绿、蓝三种颜色,颜色板的每一

55、行定义了一种颜色。红、绿、蓝三种颜色,颜色板的每一行定义了一种颜色。colormap(map)可将颜色板设置成可将颜色板设置成map,当,当map中含有中含有0.0,1 . 0 之 外 的 值 时 ,之 外 的 值 时 , M A T L A B 会 产 生 一 个 出 错 信 息 :会 产 生 一 个 出 错 信 息 :colormap(default)可将颜色板设置成缺省的颜色板;可将颜色板设置成缺省的颜色板;cmap=colormap可得到当前使用的颜色板矩阵。可得到当前使用的颜色板矩阵。注释注释1:指定颜色板。:指定颜色板。MATLAB提供了许多颜色板函数,提供了许多颜色板函数,每一个

56、函数可产生多种颜色,例如:每一个函数可产生多种颜色,例如:colormap(hsv(128)可产生包含可产生包含128种颜色的种颜色的hsv颜色板。当不指定其尺寸时,颜色板。当不指定其尺寸时,则则MATLAB会产生与当前颜色板同等数量的颜色。会产生与当前颜色板同等数量的颜色。 140注释注释2:MATLAB系统提供了许多颜色板,它们是:系统提供了许多颜色板,它们是: autumn:从红到橙到黄之间平滑变化。:从红到橙到黄之间平滑变化。 bone:灰度颜色板,它适用于显示图像。:灰度颜色板,它适用于显示图像。 colorcube:它包含许多在:它包含许多在RGB颜色空间中规则分布的颜色空间中规则

57、分布的颜色,并且提供了更多的灰度、纯红、纯绿和纯蓝颜色。颜色,并且提供了更多的灰度、纯红、纯绿和纯蓝颜色。 cool:包含从暗青色到暗洋红色之间的颜色,它从青色:包含从暗青色到暗洋红色之间的颜色,它从青色到洋红色之间平滑变化。到洋红色之间平滑变化。 copper:从黑色到黄铜色之间平滑变化。:从黑色到黄铜色之间平滑变化。 141 flag:由红、白、蓝和黑四种颜色构成。:由红、白、蓝和黑四种颜色构成。 gray:产生线性的灰度颜色板。:产生线性的灰度颜色板。 hot:从黑色到暗红、洋红、黄色、白色平滑变化。:从黑色到暗红、洋红、黄色、白色平滑变化。 hsv:颜色从红、黄、绿、青、蓝、洋红,再回

58、到红,循环变:颜色从红、黄、绿、青、蓝、洋红,再回到红,循环变化。化。 jet:颜色从蓝、红、青、黄到洋红变化。:颜色从蓝、红、青、黄到洋红变化。 line:产生由坐标系的:产生由坐标系的ColorOrder特性和暗灰色指定的颜色板。特性和暗灰色指定的颜色板。 pink:包含粉红色彩色蜡笔的阴影,它适用于黑白照片。:包含粉红色彩色蜡笔的阴影,它适用于黑白照片。 prism:重复六种颜色:红、洋红、黄、绿、蓝和紫罗蓝。:重复六种颜色:红、洋红、黄、绿、蓝和紫罗蓝。 spring:由紫红和黄色构成的颜色。:由紫红和黄色构成的颜色。 summer:由绿色和黄色构成的颜色。:由绿色和黄色构成的颜色。

59、white:全白的单色颜色板。:全白的单色颜色板。 winter142为了进一步了解各种颜色板的颜色,可输入为了进一步了解各种颜色板的颜色,可输入cmap=colormap; L=length(map);x=1:L;y=x*ones(size(x);bar(x(1:2), y(1:2, :)这时以条形图给出当前颜色板的颜色,再输入这时以条形图给出当前颜色板的颜色,再输入colormap(hsv)可显示出可显示出hsv颜色板中的颜色,输入颜色板中的颜色,输入colormap(gray)可显示出可显示出gray中的各级灰度。其它颜色板也可用类似方法中的各级灰度。其它颜色板也可用类似方法得到。得到。

60、 143习习 题题 1画出对数和指数函数曲线,并分别加上标题、画出对数和指数函数曲线,并分别加上标题、轴标记和曲线说明轴标记和曲线说明(这里可采用多种方法来标注曲线这里可采用多种方法来标注曲线)。2将图形窗口分成两格,分别绘制正割和余割将图形窗口分成两格,分别绘制正割和余割函数曲线,并加上适当的标注。函数曲线,并加上适当的标注。3设有函数设有函数y=ex+5+x3,在半对数坐标系中绘制,在半对数坐标系中绘制出曲线出曲线(x1,10)。1444将图形窗口分成两个窗格分别绘制出以下函数在将图形窗口分成两个窗格分别绘制出以下函数在-3,3区间上的曲线区间上的曲线:yl=2x+5y2=x2-3x+1并

61、利用并利用axis调整轴刻度,使它们具有相同的缩放尺寸。调整轴刻度,使它们具有相同的缩放尺寸。5有一位研究生,一年中平均每月的费用为生活费有一位研究生,一年中平均每月的费用为生活费190元、资料费元、资料费33元、电话费元、电话费45元、购买衣服元、购买衣服42元以及其它费用元以及其它费用45元。元。请以饼图表示出他每月的消费比例,并分离出表示资料费用的请以饼图表示出他每月的消费比例,并分离出表示资料费用的切片。请给图中每一块加以标注。切片。请给图中每一块加以标注。 1456画出下列函数的三维曲线和网格曲线画出下列函数的三维曲线和网格曲线:z= (x-2)2+(y-1.2)27画出下列函数的曲面及等高线图:画出下列函数的曲面及等高线图:z=x2+y2+sin(xy)146

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!