您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 第四章节MATLAB详细
MATLAB应用第四章MATLAB绘图——MATLAB丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现可视化,这是其它语言所不能比拟的。主要内容介绍subplot函数的用法4.1二维图形4.2三维图形4.3三维图形的精细处理4.4隐函数绘图subplot函数MATLAB的图形窗体中不仅可以包含一个轴,还可以划分为多个图形显示区域,每个图形显示区域彼此独立,用户可以根据自己的需要把数据绘制在指定的区域中,这种特性就是利用MATLAB图形窗体的子图功能来完成的。使用子图的方法非常简单,只要使用subplot函数选择绘制区域即可。subplot函数把现有的图形窗体分割成指定行数和列数的区域,在每个区域内都可以包含一个绘图轴,利用该函数选择不同的绘图区,然后所有的绘图操作都将结果输出到指定的绘图区中。subplot函数的基本用法如下:subplot(m,n,p)其中,m和n为将图形窗体分割成的行数和列数,p为选定的窗体区域的序号,以行元素优先顺序排列。例如,在MATLAB命令行窗口中键入指令:subplot(2,3,4)则MATLAB将图形窗体分割成为二行三列,并且将第四个绘图区域设置为当前的绘图区域。4.1二维图形一、绘制二维曲线的基本函数二、绘制图形的辅助操作三、绘制特殊图形一、绘制二维曲线的基本函数1.plot函数的基本用法plot函数用于绘制xy屏幕上的线性坐标曲线图,因此需提供一组x坐标及其各点对应的y坐标,这样就可以绘制分别以x和y为横,纵坐标的二维曲线。plot函数的基本调用格式plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。例4.1参数x,y的不同情况说明:(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于曲线的列数。例4.2见examp402.m(3)只包含一个参数plot(x)当x是实向量时,则以该向量元素的下标为横坐标,元素值为纵坐标画一条曲线。当x是复数向量时,则分别以该向量元素的实部和虚部为横、纵坐标绘制一条曲线。当x是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于列数。当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。例4.3见examp403.m2.含多个输入参数的plot函数plot函数可包含多组向量对,每一向量对可绘制出一条曲线。调用格式:plot(x1,y1,x2,y2,…,xn,yn)例:x=0:0.01:2*pi;y1=sin(x);y2=cos(y);plot(x,y1,x,y2)3.含选项的plot函数调用格式:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)例4.4用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。见examp404.m绘制曲线时,可以通过修改下列属性完成对曲线细节的设置:LineWidth:曲线的宽度,单位为point。MarkerEdgeColor:曲线标记边缘的色彩。MarkerFaceColor:填充曲线标记的色彩。MarkerSize:曲线标记的大小,单位为point。例4.5设置曲线的细节属性。见examp405.m4.与plot对应的绘图函数1)plot双轴线性刻度2)loglog双轴对数刻度3)semilogxx轴对数刻度,y轴线性刻度4)semilogyy轴对数刻度,x轴线性刻度它们的调用格式相同,坐标刻度不同。5.双纵坐标函数plotyy双y轴,适合两组数据相差大的数据组调用格式:plotyy(x1,y1,x2,y2)例4.6见examp406.m二、绘制图形的辅助操作1.图形标注2.坐标控制3.图形保持1.图形标注MATLAB图形窗体的文本信息主要包括图形标题、文本注释、轴标签和图例等。为图形窗体增加这些文本信息一般有多种途径:或者通过菜单命令,或者通过属性编辑器,或者使用MATLAB提供的函数不过这些方法都没有利用函数编写程序简便、灵活,所以重点介绍利用函数添加格式化文本信息的方法。1)添加标题(title)添加图形的标题需要使用title函数,该函数的基本用法为:title('string')其中,字符串string为图形窗体的标题,该标题将被自动地设置在轴的正中顶部,例如在MATLAB命令行窗口中,键入下面的指令:title(date)2)添加坐标轴标签(label)坐标轴的标签可以用来说明与坐标轴有关的信息。一般地,可以使用xlabel、ylabel和zlabel函数分别为图形窗体的X轴、Y轴和Z轴添加轴标签。以X轴为例,这三个函数的基本使用语法如下:xlabel('string')其中,string就是坐标轴的标签。坐标轴的标签自动与坐标轴居中对齐。例如在图形窗体中为X轴和Y轴添加标签:plot(sin(0:pi/100:pi))xlabel('X轴数据');ylabel('Y轴数据')3)添加文本注释(text)文本注释是由创建图形的用户添加的说明行文字,这些文字可以用来说明数据曲线的细节特点,比如,需要特别注意的数据点。创建文本注释的时候可以将文本注释首先保存在单元矩阵,然后使用text函数完成向图形窗体添加文本注释的工作。text函数的基本语法为text(x,y,'string')其中,x和y是文本注释添加的坐标值,该坐标值使用当前轴系的单位设置,这个坐标也就是文本起始点的坐标。例:向图形窗体添加文本:x=0:.1:2*pi;y=sin(x);plot(x,y)text(pi/3,sin(pi/3),'--Sin(\pi/3)')4)添加图例(legend)图例作为绘制在轴的数据曲线的说明,默认绘制在轴的右上角处,其中包括了绘制在轴内曲线的色彩、线性和标记,同时在绘制图例的地方为每一个曲线添加简要的说明文字,便于用户了解数据曲线的信息。添加轴的图例需要使用函数legend。该函数的基本语法为legend('string1','string2'......)其中,字符串string1、string2为图例的说明性文本,MATLAB将自动地按照绘制在轴上的曲线的绘制次序选择相应的文本作为图例。例如,假设在图形窗体上绘制如下图所示的三条曲线为这三条曲线增加图例。在MATLAB命令行窗口键入下面的指令:legend('y=sin(t)','y=sin(t-pi/2)','y=sin(t-pi)')5)格式化文本标注文本标注的字体属性可以在创建文本标注的时候进行设置,其中有关字体本身的属性包括:FontName:字体名称,例如Courier、隶书等。FontSize:字体大小,整数值,默认为10points。FontWeight:设置字体的加粗属性。FontUnits:字体大小的度量单位,默认为point。可以在创建文本注释的同时就设置这些文本相应的属性值。例4.7添加格式化的文本信息——examp407.m。6)特殊字符标注利用LaTeX字符集,就可以在MATLAB的图形文本标注中使用希腊字符、数学符号或者上标和下标字体等。教材P89表5.2常用的LaTex字符在MATLAB图形窗体的所有文本标注中都可以使用这些特殊的文本,比如在标题、坐标轴标签、文本注释中,使用特殊文本时一定要注意不要忘记“\”符号,否则MATLAB就会按照普通文本处理这些字符。除了直接使用附录中的LaTeX字符集外,还可以用下面的LaTex控制字符组合完成更丰富的字体标注。\bf:加粗字体。\it:斜体字。\rm:正常字体。\fontname{fontname}:定义使用特殊的字体名称。\fontsize{fontsize}:定义使用特殊的字体大小,单位为FontUnits。注意:受LaTex字符串控制部分要加大括号{}括起来。否则,设置字体的大小或者名称将直接影响接在定义符后面的文本内容,直到下一个字体定义符出现。例如:text(.3,.5,'{\fontsize{30}Theuseful}\fontname{华文行楷}\bfMATLAB')进行上标或者下标文本的注释需要使用“^”和“_”字符。进行上标标注的方法如下:^{superstring}其中,superstring是上标的内容,它必须添加在大括号“{}”之中。进行下标标注时的标注方法如下:_{substring}其中,substring是下标的内容,它必须添加在大括号“{}”之中。例4.8使用特殊文本注释——见examp408.m说明:特殊文本注释可以放置在各种文本注释的内容中,在本例中,011~018行的代码分别在标题、坐标轴标签、文本注释内容中添加了特殊文本。注意,在需要添加多行文本注释的时候,需要将注释的内容保存在单元矩阵中,单元矩阵的每一个元素即为注释的一行,就像014行创建的变量txt一样。2.坐标控制利用MATLAB的图形功能绘制图形时,MATLAB自动地根据绘制的数据调整轴的显示范围,它能够保证将所遇的数据以适当的比例显示在轴中。用户同样可以修改轴显示的范围,而且还可以修改轴的标注,修改这些特性需要使用axis函数,并且设置相应的属性。1)axis函数的用法axis函数可以修改图形窗体轴的范围,它的基本语法格式如下:axis([xminxmaxyminymaxzminzmax])其中,xmin和xmax决定X轴的显示范围,ymin和ymax决定Y轴的显示范围,zmin和zmax决定Y轴的显示范围。例4.9axis函数使用示例在MATLAB命令行窗口中,键入下面的指令:x=0:pi/100:pi/2;y=tan(x);plot(x,y,'ko')gridon修改显示范围:axis([0,pi/2,0,5])该命令将图形窗体轴的范围缩小,这时,前面数据的细节就可以很容易地查看出来了。axis函数除了能够用来直接设置轴的范围外,还能够用来设置轴的行为,例如设置轴是否按照数据的范围自动调节等,axis函数的其他常见用法axisnormal:正常。axissquare:长宽比例为1,产生正方形坐标系。axisequal:纵、横坐标采用等长刻度axisequaltight:长宽比例不变,图紧贴轴axisauto:使用默认设置axisoff:取消坐标轴axison:显示坐标轴gridon(off)网格boxon(off)外围矩形例4.10曲线坐标轴的控制见examp410.m2)设置坐标轴间隔绘制曲线的轴还需要设置坐标线之间的间隔(Ticks),在默认的情况下,MATLAB按照绘制数据的范围设置坐标线的间隔,这种间隔的设置是自动完成的,用户也可以根据自己的需要设置这些间隔,具体的方法是通过设置轴的XTick或者YTick属性实现对X轴或者Y轴的坐标间隔设置例4.11设置轴的坐标间隔。在MATLAB命令行窗口中,键入下面的指令:x=-pi:pi/10:pi;y=cos(x);plot(x,y,'-r^');gridon修改轴的坐标间隔属性,需要使用set函数修改指定对象的XTick或者YTick属性值。在本例子中,修改X轴的范围和坐标间隔:axis([-pi,pi,-inf,inf])set(gca,'XTick',-pi:pi/4:pi)提示:set函数和get函数是用来设置/获取MATLAB图形对象属性的常用函数。MATLAB的图形对象都包含有不同的属性和相应的属性数值,这些属性和属性值直接决定了MATLAB图形对象的表现形式。在MATLAB命令行窗口中继续键入下面的指令:label={‘-pi','',‘-pi/
本文标题:第四章节MATLAB详细
链接地址:https://www.777doc.com/doc-2170598 .html