欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    第4章MATLAB绘图.ppt

    • 资源ID:740494       资源大小:482KB        全文页数:72页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章MATLAB绘图.ppt

    2023/11/3,1,第4章 MATLAB绘图,4.1 概述 4.2 交互式绘图 4.3 二维指令绘图 4.4 三维指令绘制 4.5 图形的保存和输出,2023/11/3,2,4.1 概 述MATLAB的图形窗口主要包括如下几个部分:菜单栏:MATLAB的图形窗口一般包括一个菜单栏,利用这个菜单栏可以完成对窗口中各种对象的基本操作,例如图形的打印导出等。工具栏:图形窗口的工具栏用来完成对图形对象的一般性操作,例如新建、打开、保存和打印,图形的旋转、缩放等,还有对图形窗口的一些编辑操作也可以通过该工具栏完成。具体操作将在后续的实例中依次介绍。绘图区域:图形窗口的绘图区域是面积最大的一部分,在图4.1中就是绘制了MATLAB标志的矩形区域。在这个区域中可以绘制各种曲线,显示图形图像文件,以及完成对图形图像或者曲线的编辑。,2023/11/3,3,一般地,在MATLAB中进行数据可视化的过程主要有如下步骤:(1)准备需要绘制在MATLAB图形窗口中的数据。(2)创建图形窗口,并且选择绘制数据的区域。一个MATLAB图形窗口可以包含多个绘图区域。(3)绘制图形或者曲线。(4)设置曲线的属性,例如线型、线宽等。(5)设置绘图区域的属性,并且添加数据网格线。(6)为绘制的图形添加标题、轴标签或者标注文本等。(7)打印或者导出图形。,2023/11/3,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=cumprod(x1);%模拟价值,求累乘积向量 t=(1:length(prices1);randn(state,7)fracreturns2=0.0015*randn(200,1)+0.0003;x2=startprice;1+fracreturns2;prices2=cumprod(x2);,2023/11/3,5,MATLAB的工作空间浏览器能够将当前工作空间下的变量直接进行可视化操作,包含如下几种数据可视化类型:plot:线图。bar:二维条状图。stem:杆状图。stairs:阶梯图。area:面积图。pie:饼图。hist:直方图。,2023/11/3,6,4.2.2 交互式绘图工具1基本绘图启动交互式绘图工具也有不同的方法,一种是命令行,另外一种就是通过菜单命令来实现,其中较为常用的是命令行指令,例如在MATLAB命令行中键入如下的指令将打开MATLAB交互式绘图工具:plottools另外,也可以通过MATLAB的Start菜单下的命令打开交互式绘图工具。,2023/11/3,7,MATLAB的交互式绘图工具可以分为四大部分,分别为:Figure Palette:它位于交互式绘图工具的左侧上方,在该区域可以完成曲线类型选择、图形窗口分割、绘制数据选择以及注释选择等操作。Plot Browser:它位于交互式绘图工具的右侧上方,在该区域内可以显示当前图形窗口中已经绘制的曲线等对象列表。Property Editor:属性编辑器位于交互式绘图工具的下方,它可以根据选择的图形对象的不同而显示不同的属性,在这里可以完成很多对象的属性编辑,从而完成诸如增加注释文本、设置数轴信息等操作。图形窗口:也就是绘图区,它位于交互式绘图工具的中央,所有绘图的结果都会显示在这里。,2023/11/3,8,例4.2 利用交互式绘图工具完成例4.1数据的图形创建。解:(1)绘制简单固定单一变量图形,则可执行如下操作:在Figure Palette窗口的Variables列表中选择需要绘制到图形窗口中的变量,然后将该变量直接拖放到图形窗口区域,则图形窗口区域中将绘制相应变量的曲线。也可以选择变量之后,单击右键,从弹出的快捷菜单中选择不同的绘图形式 选择fracreturns1变量,然后执行Plot快捷菜单命令,则此时绘制了简单图形的交互式绘图工具,2023/11/3,9,(2)绘制X-Y相对数据曲线图,则可执行如下操作:如果需要利用交互式绘图工具绘制X-Y相对数据曲线图,则不能按照前面的步骤简单实现 其次创建新的图轴(Axes),创建新的图轴可以通过Figure Palette窗口下New Subplots中的选项来实现,其中2D Axes表示增加二维绘制图轴,而3D Axes表示增加三维绘制图轴,在本例子中用户只要用鼠标单击2D Axes,则在当前的交互式绘图工具中就增加了一个空白的二维图轴,其中X轴和Y轴默认的取值范围都是01。再利用前面介绍的方法,直接将数据拖放到图轴上完成数据的简单绘图。,2023/11/3,10,(3)绘制X-Y相对图形,则可执行如下操作:首先需要选择空白图轴,然后单击Plot Browser窗口内的Add Data.命令,或者用右键单击空白图轴,执行弹出的快捷菜单中的Add Data命令,此时将弹出Add Data to Axes对话框 在该对话框中需要完成两项工作,选择绘图类型(Plot Type),然后选择数据源。其中,绘图类型下拉列表框中列出了最常用的几种绘图类型,如果不能满足需要,则选择下拉列表框中的More Plot Types命令,此时将弹出选择图形对话框,2023/11/3,11,(4)同一个图轴下不同数据的绘制,则可执行如下操作:在很多时候需要将不同的数据绘制在同一个图轴下以便进行数据的比较,如果需要将新的数据增加到已经绘制了曲线的图轴上,则可以像前面的操作那样,或者直接将数据拖放到图轴上,或者使用Plot Browser窗口下的Add Data.来增加数据到当前的图轴上,也可以使用图轴快捷菜单下的Add Data.菜单命令来增加新的数据。新的曲线将使用其他的颜色来表示,默认情况下,绘制的第一条曲线是蓝色,以后依次为绿色、红色、青色、洋红等不同的色彩。,2023/11/3,12,(5)多图轴下不同曲线的绘制,则可执行如下操作:MATLAB不仅能够在同一个图轴下同时显示多条曲线,它还支持在同一个图形窗口下显示多个图轴,增加图轴就是利用MATLAB图形功能中的子图功能。在交互式绘图工具中,只要单击Figure Palette窗口下New Subplots中的2D Axes或者3D Axes就可以为当前的图形窗口增加新的图轴(子图)MATLAB的子图功能非常丰富、灵活,可以在当前图形窗口下任意实现子图的分割和布局。在交互式绘图工具中可以通过Figure Palette窗口中New Subplots下的按钮来完成相应的功能,用鼠标单击该按钮,则会弹出子图分割工具,2023/11/3,13,2 格式化图形(1)添加图轴信息 Title属性可以用来设置图轴的标题,在Title文本框中可以设定当前图形显示的提要,例如在这里键入Stock Price,则相应的文本将出现在图轴的正上方。Colors属性后面的渲染工具和描绘工具可以分别用来设置图轴的底色和文本的颜色,默认情况下,图轴都是白底黑字的样式,单击相应工具,则可以从弹出的色彩选择框中选择不同的颜色。Grid属性用来决定是否在当前图轴上显示网格,可以分别给X轴、Y轴以及Z轴设置网格,对于二维曲线,选择X轴和Y轴就已经足够了。Box复选框则决定是否给图轴增加黑框。Label属性定义了坐标轴的标签,用户可以分别针对不同的坐标轴分别进行定义,例如,对于前面的示例,只要设置X Label属性为Time(days),则相应的标签就会立即显示到图形窗口中,对应的Y Label属性设置为Prices。,2023/11/3,14,Limits属性定义了坐标轴显示数据的范围,默认为Auto,MATLAB将根据所需要显示数据的情况自动地选择必要的数据显示范围,用户可以制定数据显示范围,例如设置显示范围为从0到250,图形窗口中相应的坐标轴会发生相应的变化。Scale属性定义了坐标轴是按照线性化坐标系显示,还是按照对数坐标系显示。Reverse复选框则决定了坐标轴的显示是按照升序还是降序,例如设置前面这些属性,并且选择该复选框之后的交互式图形工具.Ticks属性决定了坐标轴显示数据时网格的间隔。,2023/11/3,15,(2)设置曲线样式 Line属性中可以通过下拉列表框分别设定曲线的类型、粗细以及颜色 Marker属性定义了在相应的数据点用哪一种标识符来表示,单击该下拉列表框,将给出能够使用的所有标识符 另外,还可以修改标识符的填充颜色和线条颜色,这些属性的设置都是在曲线的属性编辑器中通过设定Marker的相应属性(渲染工具和描绘工具)来完成的.,2023/11/3,16,(3)添加图例 当图轴信息及曲线设置好了之后,为了更全面对图形进行表达,需要添加图例。可在交互式绘图工具菜单栏单击Insert菜单,然后选择Legend按钮就可增加所需图例,2023/11/3,17,(4)添加注释 注释是由创建图形的用户添加的说明,这些说明由一些文字结合简单的图形组成,相应的说明可以用来说明数据曲线的细节特点,比如,需要特别注意的数据点等等。在交互式绘图工具中增加注释可以通过Figure Palette下的Annoations来完成,这里面包括:Line:绘制直线。Arrow:绘制箭头线。Double Arrow:绘制双向箭头线。Text Arrow:文本箭头线,可以在文本框中写入文本信息。Text Box:文本框。Rectangle:矩形。Ellipse:圆形,包含椭圆和正圆。,2023/11/3,18,(5)图形窗口属性 最后还需要设置的就是图形窗口的属性。默认情况下,图形窗口的名称是按照Figure 1、Figure 2等依次命名的,但有些时候需要设置一下图形窗口的名称等。如果需要设置图形窗口的属性,则可以用鼠标单击图形窗口下任意空白位置,此时将显示图形窗口的属性对话框 在这个属性对话框中需要设置的就是图形窗口的名称属性Figure Name,例如这里给自己的图形窗口取个名字Stock Analysis。Colomap属性定义了在图形窗口中显示图像时,图形图像显示的效果。Figure Color属性定义了图形窗口当前的背景色,如果认为默认的灰色窗口颜色不符合要求,则通过设置该属性值完成对窗口颜色的修改。当完成全部交互式绘图工作之后,可以单击交互式绘图工具工具栏上的隐藏绘图工具按钮,此时绘图工具将恢复成为图形窗口的样式,2023/11/3,19,3 生成M文件 从MATALB 7.0开始,图形窗口支持M代码自动生成的功能。也就是说,当用户利用各种绘图工具完成了图形绘制之后,可以将图形绘制的过程以及各种工具设置的属性保存成为M文件,生成的M文件函数可供以后创建图形使用。这样,即使用户不了解MATLAB的绘图指令,也可以利用函数完成图形的生成。,2023/11/3,20,如果希望将这个图形窗口生成M函数文件,则可以选择图形窗口File菜单下的Generate M-File命令,此时将自动生成M函数文件,代码如下:function createfigure(y1)%CREATEFIGURE(Y1)%Y1:vector of y data%Auto-generated by MATLAB on 05-Mar-2010 21:38:36%Create figurefigure1=figure(.Name,Stock Analysis,.PaperPosition,0.6345 6.345 20.3 15.23,.PaperSize,20.98 29.68);colormap hsv,2023/11/3,21,%Create axesaxes1=axes(.XGrid,on,.YGrid,on,.Parent,figure1);title(axes1,Stock Price);xlabel(axes1,Time);ylabel(axes1,Price);box(axes1,on);hold(axes1,all);%Create plotplot1=plot(y1,.Marker,+,.Parent,axes1);,2023/11/3,22,%Create legendlegend1=legend(axes1,prices1,Location,SouthEast);%Create textarrowannotation1=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);,2023/11/3,23,保存之后,可以在MATLAB命令行窗口中尝试运行该函数,例如在MATLAB命令行窗口中键入如下的指令:stockanalysis(prices1)同样的代码也可以处理类似的数据,例如在MATLAB命令行窗口中键入指令:stockanalysis(prices2),2023/11/3,24,4.3 二维指令绘图,4.3.1基本绘图指令1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。,2023/11/3,25,例4.3在 区间内,绘制曲线。解:在MATLAB命令行窗口中键入下面的指令:x=0:pi/1000:2*pi;y=exp(-0.5*x).*sin(2*pi*x+pi/4);plot(x,y),2023/11/3,26,说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。,2023/11/3,27,2含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,xn,yn)例4.4 利用plot函数绘制矩阵数据解:在MATLAB命令行窗口中键入下面的指令:B=pascal(6),2023/11/3,28,3含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,xn,yn,选项n),2023/11/3,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*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);,2023/11/3,30,4双纵坐标函数plotyy 在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数。这种图形能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中,有利于图形数据的对比分析。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。,2023/11/3,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);,2023/11/3,32,4.3.2 绘制图形的辅助操作 1.图形标注 有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,),2023/11/3,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(曲线及其包络线);%加图形标题 xlabel(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,离散数据点)%加图例,2023/11/3,34,2.坐标控制函数的调用格式为:axis(xmin xmax ymin ymax zmin zmax)axis函数功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度axis square 产生正方形坐标系(缺省为矩形)axis auto 使用缺省设置axis off 取消坐标轴axis on 显示坐标轴grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。,2023/11/3,35,例4.6 用图形保持功能在同一坐标内绘制曲线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*pi*x);plot(x,y1,b:);axis(0,2*pi,-2,2);%设置坐标 hold on;%设置图形保持状态 plot(x,y2,k);grid on;%加网格线 box off;%不加坐标边框 hold off;%关闭图形保持,2023/11/3,36,3 特殊字符标注,2023/11/3,37,还可以用下面的标识符组合完成更丰富的字体标注:bf:加粗字体。it:斜体字。sl:斜体字(很少使用)。rm:正常字体。fontnamefontname:定义使用特殊的字体名称。fontsizefontsize:定义使用特殊的字体大小,单位为FontUnits。其中,设置字体的大小或者名称将直接影响接在定义符后面的文本内容,直到下一个字体定义符出现。对上标或者下标文本的注释需要使用“_”和“”字符。上标标注的方法:superstring 其中,superstring是上标的内容,它必须在大括号“”之中。下标标注方法:_substring 其中,substring是下标的内容,它必须在大括号“”之中。,2023/11/3,38,例4.9 使用特殊文本标注tex_examp.m解:在M文件编辑窗口输入如下程序: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(A),.alpha=,num2str(alpha),.beta=,num2str(beta);text(2,22,txt);,2023/11/3,39,4.图形窗口的子图分割 subplot函数的调用格式为:subplot(m,n,p)该函数将当前图形窗口分成mn个绘图区,即m行,每行n个绘图区,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。,2023/11/3,40,例4.10 在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。解:程序如下: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);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);title(cotangent(x);axis(0,2*pi,-40,40);,2023/11/3,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(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,ct);title(cotangent(x);axis(0,2*pi,-40,40);,2023/11/3,42,4.3.3 二维图形绘制的其他函数1 线性直角坐标图中的其他形式在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,)area(x,y,选项),2023/11/3,43,例4.12 分别以条形图、填充图、阶梯图和杆图形式绘制曲线。解:程序如下: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);title(area(x,y);axis(0,7,0,2);,2023/11/3,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);,2023/11/3,45,3对数坐标图形 MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为: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轴均采用常用对数刻度。,2023/11/3,46,例4.14 绘制的对数坐标图并与直角线性坐标图进行比较。解:程序如下: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;,2023/11/3,47,4 自适应采样绘图函数fplot函数的调用格式为: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),2023/11/3,48,5.其他形式的图形 MATLAB提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。例4.16 绘制图形:(1)某次考试优秀、良好、中等、及格、不及格的人数分别为: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(相量图);,2023/11/3,49,4.4 三维图形绘制,4.4.1绘制三维曲线的最基本函数 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对应列元素绘制三维曲线,曲线的条数等于矩阵列数。,2023/11/3,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 in 3-D Space);text(0,0,0,origin);xlabel(X),ylabel(Y),zlabel(Z);grid;,2023/11/3,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);,2023/11/3,52,例4.18 已知6x30,15y36,求不定方程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即方程的解,2023/11/3,53,2.绘制三维曲面的函数 surf函数和mesh函数的调用格式为:mesh(x,y,z,c)surf(x,y,z,c)一般情况下,x、y、z是维数相同的矩阵。x、y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,MATLAB认为c=z,亦即颜色的设定是正比于图形的高度的,这样就可以得出层次分明的三维图形。当x、y省略时,把z矩阵的列下标当做x。轴坐标,把z矩阵的行下标当做y轴坐标,然后绘制三维曲面图。当x,y是向量时,要求x的长度必须等于z矩阵的列数,y的长度等于z矩阵的行数,x、y向量元素的组合构成网格点的x、y坐标,z坐标则取自z矩阵,然后绘制三维曲面图。,2023/11/3,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-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;,2023/11/3,55,例4.20 在xy平面 内绘制函数 的4种三维 曲面图 形。解:程序如下:x,y=meshgrid(-10:0.5:10);z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2+eps);subplot(2,2,1);meshc(x,y,z);title(meshc(x,y,z);subplot(2,2,2);meshz(x,y,z);title(meshz(x,y,z);subplot(2,2,3);surfc(x,y,z);title(surfc(x,y,z);subplot(2,2,4);surfl(x,y,z);title(surfl(x,y,z);,2023/11/3,56,3.标准三维曲面sphere函数的调用格式为:x,y,z=sphere(n)cylinder函数的调用格式为:x,y,z=sphere(R,n)MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。,2023/11/3,57,例4.21 绘制标准三维曲面图形。解:程序如下:t=0:pi/20:2*pi;x,y,z=cylinder(2+sin(t),30);subplot(1,3,1);surf(x,y,z);subplot(1,3,2);x,y,z=sphere;surf(x,y,z);subplot(1,3,3);x,y,z=peaks(30);meshz(x,y,z);,2023/11/3,58,4.4.3 其他三维图形 在介绍二维图形时,曾提到条形图、杆图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、stem3、pie3和fill3。bar3函数绘制三维条形图,常用格式为:bar3(y)bar3(x,y)在第一种格式中,y的每个元素对应于一个条形。第二种格式在x指定的位置上绘制y中元素的条形图。stem3函数绘制离散序列数据的三维杆图,常用格式为:stem3(z)stem3(x,y,z)第一种格式将数据序列z表示为从xy平面向上延伸的杆图,x和y自动生成。第二种格式在x和y指定的位置上绘制数据序列z的杆图,x、y、z的维数必须相同。,2023/11/3,59,pie3函数绘制三维饼图,常用格式为:pie3(x)其中x为向量,用x中的数据绘制一个三维饼图。fill3函数可在三维空间内绘制出填充过的多边形,常用格式为:fill3(x,y,z,c)使用x、y、z作为多边形的顶点,而c指定了填充的颜色。,2023/11/3,60,例4.22 绘制三维图形:(1)绘制魔方阵的三维条形图。(2)以三维杆图形式绘制曲线。(3)已知x=2347,1827,2043,3025,绘制三维饼图。(4)用随机的顶点坐标值画出6个红色三角形。解:程序如下:subplot(2,2,1);bar3(magic(5);subplot(2,2,2);y=3*sin(0:pi/10:2*pi);stem3(y);subplot(2,2,3);pie3(2347,1827,2043,3025);subplot(2,2,4);fill3(rand(3,6),rand(3,6),rand(3,6),r);,2023/11/3,61,例4.23 绘制多峰函数的等高线图。解:程序如下 subplot(1,2,1);x,y,z=peaks;waterfall(x,y,z);xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(waterfall of peaks);subplot(1,2,2);contour3(x,y,z,12,k);%其中12代表高度的等级数 xlabel(x-axis),ylabel(y-axis),zlabel(z-axis);title(contour3 of peaks);,2023/11/3,62,4.4.4 三维图形的精细处理,1.视点处理 MATLAB提供了设置视点的函数view,其调用格式为:view(az,e1)其中,az为方位角,el为仰角,它们均以度为单位。系统默认的视点定义为方位角,仰角。,2023/11/3,63,例4.24 从不同视点绘制多峰函数曲面。解:程序如下:subplot(2,2,1);mesh(peaks);view(-37.5,30);%指定子图1的视点 title(azimuth=-37.5,elevation=30)subplot(2,2,2);mesh(peaks);view(0,90);%指定子图2的视点 title(azimuth=0,elevation=90)subplot(2,2,3);mesh(peaks);view(90,0);%指定子图3的视点 title(azimuth=90,elevation=0)subplot(2,2,4);mesh(peaks);view(-7,-10);%指定子图4的视点 title(azimuth=-7,elevation=-10),2023/11/3,64,2.色彩处理 1.颜色的向量表示 MATLAB除用字符表示颜色外,还可以用含有3个元素的向量表示颜色。

    注意事项

    本文(第4章MATLAB绘图.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开