第4章4MATLAB绘图.ppt

上传人:本田雅阁 文档编号:2974033 上传时间:2019-06-16 格式:PPT 页数:72 大小:1.10MB
返回 下载 相关 举报
第4章4MATLAB绘图.ppt_第1页
第1页 / 共72页
第4章4MATLAB绘图.ppt_第2页
第2页 / 共72页
第4章4MATLAB绘图.ppt_第3页
第3页 / 共72页
第4章4MATLAB绘图.ppt_第4页
第4页 / 共72页
第4章4MATLAB绘图.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《第4章4MATLAB绘图.ppt》由会员分享,可在线阅读,更多相关《第4章4MATLAB绘图.ppt(72页珍藏版)》请在三一文库上搜索。

1、2019/6/16,天水师范学院物理与信息科学学院,1,第4章 MATLAB绘图,4.1 概述 4.2 交互式绘图 4.3 二维指令绘图 4.4 三维指令绘制 4.5 图形的保存和输出,2019/6/16,天水师范学院物理与信息科学学院,2,4.1 概 述 MATLAB的图形窗口主要包括如下几个部分: 菜单栏:MATLAB的图形窗口一般包括一个菜单栏,利用这个菜单栏可以完成对窗口中各种对象的基本操作,例如图形的打印导出等。 工具栏:图形窗口的工具栏用来完成对图形对象的一般性操作,例如新建、打开、保存和打印,图形的旋转、缩放等,还有对图形窗口的一些编辑操作也可以通过该工具栏完成。具体操作将在后续

2、的实例中依次介绍。 绘图区域:图形窗口的绘图区域是面积最大的一部分,在图4.1中就是绘制了MATLAB标志的矩形区域。在这个区域中可以绘制各种曲线,显示图形图像文件,以及完成对图形图像或者曲线的编辑。,2019/6/16,天水师范学院物理与信息科学学院,3,一般地,在MATLAB中进行数据可视化的过程主要有如下步骤: (1) 准备需要绘制在MATLAB图形窗口中的数据。 (2) 创建图形窗口,并且选择绘制数据的区域。一个MATLAB图形窗口可以包含多个绘图区域。 (3) 绘制图形或者曲线。 (4) 设置曲线的属性,例如线型、线宽等。 (5) 设置绘图区域的属性,并且添加数据网格线。 (6) 为

3、绘制的图形添加标题、轴标签或者标注文本等。 (7) 打印或者导出图形。,2019/6/16,天水师范学院物理与信息科学学院,4,4.2 交互式绘图 4.2.1 基本绘图 例4.1用以下随机数据模拟股票在当前市场上的运作情况,并进行可视化图形显示。 解:在MATLAB命令窗口中键入以下命令: randn(state,27) %设置随机种子发生器为它的第j(j=27)种状态 startprice=50; %初始价值 fracreturns1=0.0015*randn(200,1)+0.0003; % 市值波动 x1=startprice; 1+fracreturns1; prices1=cumpr

4、od(x1); % 模拟价值,求累乘积向量 t=(1:length(prices1); randn(state,7) fracreturns2=0.0015*randn(200,1)+0.0003; x2=startprice; 1+fracreturns2; prices2=cumprod(x2);,2019/6/16,天水师范学院物理与信息科学学院,5,MATLAB的工作空间浏览器能够将当前工作空间下的变量直接进行可视化操作 ,包含如下几种数据可视化类型: plot:线图。 bar:二维条状图。 stem:杆状图。 stairs:阶梯图。 area:面积图。 pie:饼图。 hist:直方

5、图。,2019/6/16,天水师范学院物理与信息科学学院,6,4.2.2 交互式绘图工具 1基本绘图 启动交互式绘图工具也有不同的方法,一种是命令行,另外一种就是通过菜单命令来实现,其中较为常用的是命令行指令,例如在MATLAB命令行中键入如下的指令将打开MATLAB交互式绘图工具: plottools 另外,也可以通过MATLAB的Start菜单下的命令打开交互式绘图工具。,2019/6/16,天水师范学院物理与信息科学学院,7,MATLAB的交互式绘图工具可以分为四大部分,分别为: Figure Palette:它位于交互式绘图工具的左侧上方,在该区域可以完成曲线类型选择、图形窗口分割、绘

6、制数据选择以及注释选择等操作。 Plot Browser:它位于交互式绘图工具的右侧上方,在该区域内可以显示当前图形窗口中已经绘制的曲线等对象列表。 Property Editor:属性编辑器位于交互式绘图工具的下方,它可以根据选择的图形对象的不同而显示不同的属性,在这里可以完成很多对象的属性编辑,从而完成诸如增加注释文本、设置数轴信息等操作。 图形窗口:也就是绘图区,它位于交互式绘图工具的中央,所有绘图的结果都会显示在这里。,2019/6/16,天水师范学院物理与信息科学学院,8,例4.2 利用交互式绘图工具完成例4.1数据的图形创建。 解:(1) 绘制简单固定单一变量图形,则可执行如下操作

7、: 在Figure Palette窗口的Variables列表中选择需要绘制到图形窗口中的变量,然后将该变量直接拖放到图形窗口区域,则图形窗口区域中将绘制相应变量的曲线。也可以选择变量之后,单击右键,从弹出的快捷菜单中选择不同的绘图形式 选择fracreturns1变量,然后执行Plot快捷菜单命令,则此时绘制了简单图形的交互式绘图工具,2019/6/16,天水师范学院物理与信息科学学院,9,(2) 绘制X-Y相对数据曲线图,则可执行如下操作: 如果需要利用交互式绘图工具绘制X-Y相对数据曲线图,则不能按照前面的步骤简单实现 其次创建新的图轴(Axes),创建新的图轴可以通过Figure Pa

8、lette窗口下New Subplots中的选项来实现,其中2D Axes表示增加二维绘制图轴,而3D Axes表示增加三维绘制图轴,在本例子中用户只要用鼠标单击2D Axes,则在当前的交互式绘图工具中就增加了一个空白的二维图轴,其中X轴和Y轴默认的取值范围都是01。 再利用前面介绍的方法,直接将数据拖放到图轴上完成数据的简单绘图。,2019/6/16,天水师范学院物理与信息科学学院,10,(3) 绘制X-Y相对图形,则可执行如下操作: 首先需要选择空白图轴,然后单击Plot Browser窗口内的Add Data.命令,或者用右键单击空白图轴,执行弹出的快捷菜单中的Add Data命令,此

9、时将弹出Add Data to Axes对话框 在该对话框中需要完成两项工作,选择绘图类型(Plot Type),然后选择数据源。其中,绘图类型下拉列表框中列出了最常用的几种绘图类型,如果不能满足需要,则选择下拉列表框中的More Plot Types命令,此时将弹出选择图形对话框,2019/6/16,天水师范学院物理与信息科学学院,11,(4) 同一个图轴下不同数据的绘制,则可执行如下操作: 在很多时候需要将不同的数据绘制在同一个图轴下以便进行数据的比较,如果需要将新的数据增加到已经绘制了曲线的图轴上,则可以像前面的操作那样,或者直接将数据拖放到图轴上,或者使用Plot Browser窗口下

10、的Add Data.来增加数据到当前的图轴上,也可以使用图轴快捷菜单下的Add Data.菜单命令来增加新的数据。新的曲线将使用其他的颜色来表示,默认情况下,绘制的第一条曲线是蓝色,以后依次为绿色、红色、青色、洋红等不同的色彩。,2019/6/16,天水师范学院物理与信息科学学院,12,(5) 多图轴下不同曲线的绘制,则可执行如下操作: MATLAB不仅能够在同一个图轴下同时显示多条曲线,它还支持在同一个图形窗口下显示多个图轴,增加图轴就是利用MATLAB图形功能中的子图功能。在交互式绘图工具中,只要单击Figure Palette窗口下New Subplots中的2D Axes或者3D Ax

11、es就可以为当前的图形窗口增加新的图轴(子图) MATLAB的子图功能非常丰富、灵活,可以在当前图形窗口下任意实现子图的分割和布局。在交互式绘图工具中可以通过Figure Palette窗口中New Subplots下的按钮来完成相应的功能,用鼠标单击该按钮,则会弹出子图分割工具,2019/6/16,天水师范学院物理与信息科学学院,13,2 格式化图形 (1)添加图轴信息 Title属性可以用来设置图轴的标题,在Title文本框中可以设定当前图形显示的提要,例如在这里键入Stock Price,则相应的文本将出现在图轴的正上方。 Colors属性后面的渲染工具和描绘工具可以分别用来设置图轴的底

12、色和文本的颜色,默认情况下,图轴都是白底黑字的样式,单击相应工具,则可以从弹出的色彩选择框中选择不同的颜色。 Grid属性用来决定是否在当前图轴上显示网格,可以分别给X轴、Y轴以及Z轴设置网格,对于二维曲线,选择X轴和Y轴就已经足够了。Box复选框则决定是否给图轴增加黑框。 Label属性定义了坐标轴的标签,用户可以分别针对不同的坐标轴分别进行定义,例如,对于前面的示例,只要设置X Label属性为Time(days),则相应的标签就会立即显示到图形窗口中,对应的Y Label属性设置为Prices。,2019/6/16,天水师范学院物理与信息科学学院,14, Limits属性定义了坐标轴显示

13、数据的范围,默认为Auto,MATLAB将根据所需要显示数据的情况自动地选择必要的数据显示范围,用户可以制定数据显示范围,例如设置显示范围为从0到250,图形窗口中相应的坐标轴会发生相应的变化。 Scale属性定义了坐标轴是按照线性化坐标系显示,还是按照对数坐标系显示。 Reverse复选框则决定了坐标轴的显示是按照升序还是降序,例如设置前面这些属性,并且选择该复选框之后的交互式图形工具. Ticks属性决定了坐标轴显示数据时网格的间隔。,2019/6/16,天水师范学院物理与信息科学学院,15,(2)设置曲线样式 Line属性中可以通过下拉列表框分别设定曲线的类型、粗细以及颜色 Marker

14、属性定义了在相应的数据点用哪一种标识符来表示,单击该下拉列表框,将给出能够使用的所有标识符 另外,还可以修改标识符的填充颜色和线条颜色,这些属性的设置都是在曲线的属性编辑器中通过设定Marker的相应属性(渲染工具和描绘工具)来完成的 .,2019/6/16,天水师范学院物理与信息科学学院,16,(3)添加图例 当图轴信息及曲线设置好了之后,为了更全面对图形进行表达,需要添加图例。可在交互式绘图工具菜单栏单击Insert菜单,然后选择Legend按钮就可增加所需图例,2019/6/16,天水师范学院物理与信息科学学院,17,(4)添加注释 注释是由创建图形的用户添加的说明,这些说明由一些文字结

15、合简单的图形组成,相应的说明可以用来说明数据曲线的细节特点,比如,需要特别注意的数据点等等。在交互式绘图工具中增加注释可以通过Figure Palette下的Annoations来完成,这里面包括: Line:绘制直线。 Arrow:绘制箭头线。 Double Arrow:绘制双向箭头线。 Text Arrow:文本箭头线,可以在文本框中写入文本信息。 Text Box:文本框。 Rectangle:矩形。 Ellipse:圆形,包含椭圆和正圆。,2019/6/16,天水师范学院物理与信息科学学院,18,(5)图形窗口属性 最后还需要设置的就是图形窗口的属性。默认情况下,图形窗口的名称是按照F

16、igure 1、Figure 2等依次命名的,但有些时候需要设置一下图形窗口的名称等。如果需要设置图形窗口的属性,则可以用鼠标单击图形窗口下任意空白位置,此时将显示图形窗口的属性对话框 在这个属性对话框中需要设置的就是图形窗口的名称属性Figure Name,例如这里给自己的图形窗口取个名字Stock Analysis。 Colomap属性定义了在图形窗口中显示图像时,图形图像显示的效果。 Figure Color属性定义了图形窗口当前的背景色,如果认为默认的灰色窗口颜色不符合要求,则通过设置该属性值完成对窗口颜色的修改。 当完成全部交互式绘图工作之后,可以单击交互式绘图工具工具栏上的隐藏绘图

17、工具按钮,此时绘图工具将恢复成为图形窗口的样式,2019/6/16,天水师范学院物理与信息科学学院,19,3 生成M文件 从MATALB 7.0开始,图形窗口支持M代码自动生成的功能。也就是说,当用户利用各种绘图工具完成了图形绘制之后,可以将图形绘制的过程以及各种工具设置的属性保存成为M文件,生成的M文件函数可供以后创建图形使用。这样,即使用户不了解MATLAB的绘图指令,也可以利用函数完成图形的生成。,2019/6/16,天水师范学院物理与信息科学学院,20,如果希望将这个图形窗口生成M函数文件,则可以选择图形窗口File菜单下的Generate M-File命令,此时将自动生成M函数文件,

18、代码如下: function createfigure(y1) %CREATEFIGURE(Y1) % Y1: vector of y data % Auto-generated by MATLAB on 05-Mar-2010 21:38:36 % Create figure figure1 = figure(. Name,Stock Analysis,. PaperPosition,0.6345 6.345 20.3 15.23,. PaperSize,20.98 29.68); colormap hsv,2019/6/16,天水师范学院物理与信息科学学院,21,% Create axes

19、 axes1 = axes(. XGrid,on,. YGrid,on,. Parent,figure1); title(axes1,Stock Price); xlabel(axes1,Time); ylabel(axes1,Price); box(axes1,on); hold(axes1,all); % Create plot plot1 = plot(y1,. Marker,+,. Parent,axes1);,2019/6/16,天水师范学院物理与信息科学学院,22,% Create legend legend1 = legend(axes1,prices1,Location,Sou

20、thEast); % Create textarrow annotation1 = annotation(. figure1,textarrow,. 0.5429 0.575,0.4351 0.5264,. LineWidth,2,. String,Stock Prices Plot,. FontSize,14,. TextLineWidth,2,. TextEdgeColor,1 0 0);,2019/6/16,天水师范学院物理与信息科学学院,23,保存之后,可以在MATLAB命令行窗口中尝试运行该函数,例如在MATLAB命令行窗口中键入如下的指令: stockanalysis (price

21、s1) 同样的代码也可以处理类似的数据,例如在MATLAB命令行窗口中键入指令: stockanalysis (prices2),2019/6/16,天水师范学院物理与信息科学学院,24,4.3 二维指令绘图,4.3.1基本绘图指令 1. plot函数的基本用法 plot函数的基本调用格式为: plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。,2019/6/16,天水师范学院物理与信息科学学院,25,例4.3在 区间内,绘制曲线 。 解:在MATLAB命令行窗口中键入下面的指令: x = 0:pi/1000:2*pi; y = exp(-0.5*x).*sin(

22、2*pi*x+pi/4); plot(x,y),2019/6/16,天水师范学院物理与信息科学学院,26,说明: (1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。 (2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。 (3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。,2019/6/16,天水师范学院物理与信息科学学院,27,2含多个输入参数的plot函数 含多个输入参数的plot函数调用格式为: plot(x1,y1,x2,y2,xn,yn

23、) 例4.4 利用plot函数绘制矩阵数据 解:在MATLAB命令行窗口中键入下面的指令: B=pascal(6),2019/6/16,天水师范学院物理与信息科学学院,28,3含选项的plot函数 含选项的plot函数调用格式为: plot(x1,y1,选项1,x2,y2, 选项2,xn,yn,选项n),2019/6/16,天水师范学院物理与信息科学学院,29,例4.5 用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线。 程序如下: x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*

24、pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp);,2019/6/16,天水师范学院物理与信息科学学院,30,4双纵坐标函数plotyy 在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数。这种图形能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中,有利于图形数据的对比分析 。调用格式为: plotyy(x1,y1,x2,y2) 其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,

25、y1数据对,右纵坐标用于x2,y2数据对。,2019/6/16,天水师范学院物理与信息科学学院,31,例4.6 用不同标度在同一坐标内绘制曲线y1=e-0.5xsin(2x)及曲线y2=1.5e-0.1xsin(x)。 程序如下: x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);,2019/6/16,天水师范学院物理与信息科学学院,32,4.3.2 绘制图形的辅助操作 1. 图形标注 有关图形标注函数的调用格式

26、为: title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明) legend(图例1,图例2,),2019/6/16,天水师范学院物理与信息科学学院,33,例4.7 给图形添加图形标注。 程序如下: x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,-1; y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2; y3=2*exp(-0.5*x1).*sin(2*pi*x1); plot(x,y1,g:,x,y2,b-,x1,y3,rp); title(曲线及其包络线); %加图形标题 xl

27、abel(independent variable X); %加X轴说明 ylabel(independent variable Y); %加Y轴说明 text(2.8,0.5,包络线); %在指定位置添加图形说明 text(0.5,0.5,曲线y); text(1.4,0.1,离散数据点); legend(包络线,包络线,曲线y,离散数据点) %加图例,2019/6/16,天水师范学院物理与信息科学学院,34,2. 坐标控制 函数的调用格式为: axis(xmin xmax ymin ymax zmin zmax) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采

28、用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。,2019/6/16,天水师范学院物理与信息科学学院,35,例4.6 用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线,并加网格线。 程序如下: x=(0:pi/100:2*pi); y1=2*exp(-0.5*x)*1,

29、-1;y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,b:); axis(0,2*pi,-2,2); %设置坐标 hold on; %设置图形保持状态 plot(x,y2,k); grid on; %加网格线 box off; %不加坐标边框 hold off; %关闭图形保持,2019/6/16,天水师范学院物理与信息科学学院,36,3 特殊字符标注,2019/6/16,天水师范学院物理与信息科学学院,37,还可以用下面的标识符组合完成更丰富的字体标注: bf:加粗字体。 it:斜体字。 sl:斜体字(很少使用)。 rm:正常字体。 fontnamefont

30、name:定义使用特殊的字体名称。 fontsizefontsize:定义使用特殊的字体大小,单位为FontUnits。 其中,设置字体的大小或者名称将直接影响接在定义符后面的文本内容,直到下一个字体定义符出现。对上标或者下标文本的注释需要使用“_”和“”字符。 上标标注的方法:superstring 其中,superstring是上标的内容,它必须在大括号“”之中。 下标标注方法:_substring 其中,substring是下标的内容,它必须在大括号“”之中。,2019/6/16,天水师范学院物理与信息科学学院,38,例4.9 使用特殊文本标注tex_examp.m 解:在M文件编辑窗口

31、输入如下程序: function tex_examp %TEX_EXAMP 在文本注释中使用特殊文本 alpha=-0.5; beta=3; A=50; t=0:0.01:10; y=A*exp(alpha*t).*sin(beta*t); plot(t,y); %添加特殊文本注释 title(fontname隶书fontsize16隶书 fontnameImpactImpact) xlabel(上标 and _下标) ylabel(Some bf粗体rm and some it斜体) txt = y = itAealphaxsin(betaitt),. itArm , = ,num2str(

32、A),. alpha = ,num2str(alpha),. beta = ,num2str(beta); text(2,22,txt );,2019/6/16,天水师范学院物理与信息科学学院,39,4. 图形窗口的子图分割 subplot函数的调用格式为: subplot(m,n,p) 该函数将当前图形窗口分成mn个绘图区,即m行,每行n个绘图区,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。,2019/6/16,天水师范学院物理与信息科学学院,40,例4.10 在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。 解:程序如下: x=

33、linspace(0,2*pi,60); y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(2,2,2); plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(2,2,3); plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(2,2,4); plot(x,ct);t

34、itle(cotangent(x);axis (0,2*pi,-40,40);,2019/6/16,天水师范学院物理与信息科学学院,41,例4.11 对图形窗口灵活分割子图的使用。 解:程序如下: x=linspace(0,2*pi,60); y=sin(x);z=cos(x); t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1); %选择22个区中的1号区 stairs(x,y);title(sin(x)-1);axis (0,2*pi,-1,1); subplot(2,1,2); %选择21个区中的2号区 stem

35、(x,y);title(sin(x)-2);axis (0,2*pi,-1,1); subplot(4,4,3); %选择44个区中的3号区 plot(x,y);title(sin(x);axis (0,2*pi,-1,1); subplot(4,4,4); %选择44个区中的4号区 plot(x,z);title(cos(x);axis (0,2*pi,-1,1); subplot(4,4,7); %选择44个区中的7号区 plot(x,t);title(tangent(x);axis (0,2*pi,-40,40); subplot(4,4,8); %选择44个区中的8号区 plot(x,

36、ct);title(cotangent(x);axis (0,2*pi,-40,40);,2019/6/16,天水师范学院物理与信息科学学院,42,4.3.3 二维图形绘制的其他函数 1 线性直角坐标图中的其他形式 在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,) area(x,y,选项),2019/6/16,天水师范学院物理与信息科学学院,43,例4.12 分别以条形图、填充图、阶梯图和杆图形式绘制曲线。 解:程序如下:

37、 x=0:0.35:7; y=2*exp(-0.4*x); subplot(2,2,1);bar(x,y,g); title(bar(x,y,g);axis(0,7,0,2); subplot(2,2,2);fill(x,y,r); title(fill(x,y,r);axis(0,7,0,2); subplot(2,3,4);stairs(x,y,b); title(stairs(x,y,b);axis(0,7,0,2); subplot(2,3,5);stem(x,y,k); title(stem(x,y,k);axis(0,7,0,2); subplot(2,3,6);area(x,y)

38、; title(area(x,y);axis(0,7,0,2);,2019/6/16,天水师范学院物理与信息科学学院,44,2极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。 例4.13 绘制的极坐标图。 程序如下: theta=0:0.01:2*pi; rho=sin(3*theta).*cos(3*theta); polar(theta,rho,r);,2019/6/16,天水师范学院物理与信息科学学院,45,3对数坐标图形 MATLAB提供了绘制对数和半对数坐标

39、曲线的函数,调用格式为: semilogx(x1,y1,选项1,x2,y2,选项2,) semilogy(x1,y1,选项1,x2,y2,选项2,) loglog(x1,y1,选项1,x2,y2,选项2,) 其中,选项的定义与plot函数完全一致,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。semilogy函数也使用半对数坐标,y轴为常用对数刻度,而x轴仍保持线性刻度。loglog函数使用全对数坐标,x、y轴均采用常用对数刻度。,2019/6/16,天水师范学院物理与信息科学学院,46,例4.14 绘制的对数坐标图并与直角线性坐标图进行

40、比较。 解:程序如下: x=0:0.1:10; y=12*x.*x; subplot(2,2,1);plot(x,y);title(plot(x,y);grid on; subplot(2,2,2);semilogx(x,y);title(semilogx(x,y);grid on; subplot(2,2,3);semilogy(x,y);title(semilogy(x,y);grid on; subplot(2,2,4);loglog(x,y);title(loglog(x,y);grid on;,2019/6/16,天水师范学院物理与信息科学学院,47,4 自适应采样绘图函数 fplo

41、t函数的调用格式为: fplot(fname,lims,tol,选项) 例4.15 用fplot函数绘制f(x)=cos(tan(x)的曲线。 解:先建立函数文件myf.m: function y=myf(x) y=cos(tan(pi*x); 再用fplot函数绘制myf.m函数的曲线: fplot(myf,-0.4,1.4,1e-4),2019/6/16,天水师范学院物理与信息科学学院,48,5. 其他形式的图形 MATLAB提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。 例4.16 绘制图形: (1)某次考试优秀、良好、中等、及格、不及格的人数分别为

42、:7,17,23,19,5,试用饼图作成绩统计分析。 (2)绘制复数的相量图:3+2i、4.5-i和-1.5+5i。 程序如下: subplot(1,2,1); pie(7,17,23,19,5); title(饼图);legend(优秀,良好,中等,及格,不及格); subplot(1,2,2); compass(3+2i,4.5-i,-1.5+5i);title(相量图);,2019/6/16,天水师范学院物理与信息科学学院,49,4.4 三维图形绘制,4.4.1绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,

43、y2,z2,选项2,xn,yn,zn,选项n) 其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同,当x,y,z是同维向量时,x,y,z对应元素构成一条三维曲线。当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线的条数等于矩阵列数。,2019/6/16,天水师范学院物理与信息科学学院,50,例4.17 绘制空间曲线的图形 。该曲 线所对应的参数方程为: 解:程序如下: 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

44、in 3-D Space);text(0,0,0,origin); xlabel(X),ylabel(Y),zlabel(Z);grid;,2019/6/16,天水师范学院物理与信息科学学院,51,4.4.2 三维曲面 1平面网格坐标矩阵的生成 (1)利用矩阵运算生成。 x=a:dx:b; y=(c:dy:d); X=ones(size(y)*x; Y=y*ones(size(x); (2)利用meshgrid函数生成。 x=a:dx:b; y=c:dy:d; X,Y=meshgrid(x,y);,2019/6/16,天水师范学院物理与信息科学学院,52,例4.18 已知6x30,15y36,

45、求不定方程2x+5y=126的整数解。 程序如下: x=5:29; y=14:35; x,y=meshgrid(x,y); %在5,2914,35区域生成网 格坐标 z=2*x+5*y; k=find(z=126); %找出解的位置 x(k),y(k) %输出对应位置的x,y即方程的解,2019/6/16,天水师范学院物理与信息科学学院,53,2. 绘制三维曲面的函数 surf函数和mesh函数的调用格式为: mesh(x,y,z,c) surf(x,y,z,c) 一般情况下,x、y、z是维数相同的矩阵。x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,

46、MATLAB认为c=z,亦即颜色的设定是正比于图形的高度的,这样就可以得出层次分明的三维图形。当x、y省略时,把z矩阵的列下标当做x。轴坐标,把z矩阵的行下标当做y轴坐标,然后绘制三维曲面图。当x,y是向量时,要求x的长度必须等于z矩阵的列数,y的长度等于z矩阵的行数,x、y向量元素的组合构成网格点的x、y坐标,z坐标则取自z矩阵,然后绘制三维曲面图。,2019/6/16,天水师范学院物理与信息科学学院,54,例4.19 用三维曲面图表现函数。 解:程序(1) x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); mesh(x,y,z);xlabel(x

47、-axis),ylabel(y-axis),zlabel(z-axis);title(mesh); 程序(2) 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); 程序(3) x=0:0.1:2*pi;x,y=meshgrid(x);z=sin(y).*cos(x); plot3(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(plot3);grid;,2019/6/16,天水师范学院物理与信息科学学院,55,例4.20 在xy平面 内绘制函数 的4种三维 曲面图 形。 解:程序如下: x,y=m

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1