




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 MATLAB 绘图(二维)07电本 黄国营 0712020110matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。matlab语言的绘图功能n 不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。n matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力句柄绘图方法。n 在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。3.1 二维图形3.1.1 绘制二维曲线的基本函数一、plot函数q 曲线的颜色、线型、标记二、图形放大及缩小1.基本绘图函数:plot函数plot(x1,y1,option1,
2、x2,y2,option2,)v x1,y1给出的数据分别为x,y轴坐标值,v option1为选项参数,如曲线的颜色、线型及数据点标记符号等v 以逐点连折线的方式绘制第1个二维图形;同时类似地绘制第2个二维图形,等。v 这是plot命令的完全格式*plot的功能v 用直线连接相邻两数据点来绘制图形v 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对数坐标表示v 如果打开过图形窗口,则在最近打开的图形窗口上绘制图形,且清除当前图形,绘制新图形,如果未打开窗口,则开一个新的图形窗口Figurev 可单窗口单曲线绘图;可单窗口多曲线绘图;
3、可单窗口多曲线分图绘图;可多窗口绘图v 可任意设定曲线颜色和线型v 可给图形加坐标网线和图形加注功能2.plot的常用格式(1)plot(x) 当x为一向量时,以x元素的值为纵坐标,x的序号为横坐标值绘制曲线。 当x为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x为m×n矩阵时,就有n条曲线。(2)plot(x, y)这是最常见的形式。在plot(x,y)中如果x,y是同维向量,该指令以x元素为横坐标值,y元素为纵
4、坐标值绘制曲线。如x是向量,y是有一维与x元素数量相等的矩阵,则以x为共同横坐标,按列绘制y每列元素值, 曲线数为y的另一维的元素数。如x,y是同维矩阵,则以x,y对应列元素为横、纵坐标分别绘制曲线,数目等于矩阵的列数。 (3)plot(x,y1,x,y2,) %y写成向量形式 以公共的x元素为横坐标值,以y1、y2元素为纵坐标值绘制多条曲线。当然每条曲线也可以有不同的横坐标(4)plot(x1,y1,x2,y2,) 例3.1 绘制出显函数方程在区间内的曲线。 在命令窗口输入如下语句x = -pi:pi/10:pi;%以pi/
5、10为步长y = tan(sin(x) - sin(tan(x);%求出各点上的函数值plot(x,y,'-rs','LineWidth',2,. 'MarkerEdgeColor','k',. 'MarkerFaceColor','g',. 'MarkerSize',10)得到的图形如图3.1所示,并标上了线型属性。图3.1 以pi/10为步长的曲线tan(sin(x) - sin(tan(x)由于plot()函数只将给定点用直线连接起来,因此步长选得过大,曲线将看似一折线,因此将
6、上述绘图语句步长改为0.05,并在及两个子区间内加密自变量选择点,即将上述语句修改为x=-pi:0.05:-1.8,-1.801:0.001:-1.2,-1.2:0.05:1.2,1.2:0.001:1.8,1.81:0.05:pi;%以步长方式构造自变量 y = tan(sin(x) - sin(tan(x);plot(x,y)得到曲线如图3.2所示。图3.2 细化步长后的曲线tan(sin(x) - sin(tan(x)plot的开关调用格式® Plot (x,y,s) 开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前13个字母,如 yellowyel表示等。或
7、 plot(x1,y1,s1,x2,y2,s2,)表3.1 MATLAB绘图命令的各种选项色彩字符色彩字符线型字符线型格式y黄-实线m洋红色:点线c青-.点划线r红-虚线g绿b蓝w白k黑标记符号数据点形式标记符号数据点形式.点<小于号o圆s正方形x叉号d菱形+加号p五角星*星号h六角星v向下的三角形 square 正方形 diamon 菱形 pentagram 五角星 hexagram 六角星向上的三角形>大于号3.2 用不同的线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2x)及其包络线。MATLAB程序如下:x=0:pi/100:2*pi' y1=2*exp(
8、-0.5*x); x=0:pi/100:2*pi; y1=2*exp(-0.5*x); y2=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y1,'k:',x,-y1,'k:',x,y2,'b-') %y1和-y1为包络线程序执行结果如图3.3所示,图中首先用黑色虚线绘出两根包络线,再用蓝色双划线绘出曲线y。图3.3 用不同线型和颜色绘制的曲线说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线
9、条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。2含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,xn,yn)3含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2, 选项2,xn,yn,选项n)3.1.2 设置轴的形式与刻度设置 在绘制图形时,用户可以使用函数axis和set对坐标轴的刻度范围进行重新设定,其调用格式如下:(1)函数axisaxis(xmin xmax ymin ymax zmin zmax)axis函数
10、功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度axis square 产生正方形坐标系(缺省为矩形)axis auto 使用缺省设置axis off 取消坐标轴axis on 显示坐标轴例3.3 绘制单位圆。 MATLAB程序如下:clear ;close all; clct=0:0.01:2*pi; %定义时间范围x=sin(t);y=cos(t);plot(x,y)axis(-1.5 1.5 -1.5 1.5) %限定x轴和y轴的显示范围pausegrid onaxis('equal')程序运行结果如图3.4所示。图3.4 单位圆(2)函数sets
11、et(gca,xtick,标示向量),set(gca,ytick,标示向量),按照标示向量设置x,y轴的刻度标示; set(gca,xticklabel,字符串|字符串···),set(gca, yticklabel,字符串|字符串··· ), 按照字符串设置x,y轴的刻度标志例3.4 给正弦曲线设置刻度标示。MATLAB程序如下:t=0:0.05:7; plot(t,sin(t) set(gca,'xtick',0 1.4 3.14 5 6.28)set(gca,'xticklabel','0
12、|1.4|half|5|one')程序运行结果如图3.5所示。图3.5 设置刻度标示的正弦曲线3.1.3图形的标注、网格及图例说明绘制图形时,可以对图形加上一些说明,添加网格和图例等,基本函数及其调用格式如下:(1)添加图形标题命令titletitle(string),在当前坐标系的顶部加一个文本串string,作为图形的标题。title(text,Property1, PropertyValue1, Property2, PropertyValue2,),设置标题名属性。(2)添加坐标轴标志函数xlabel、ylabel、zlabelxlabel(string),ylabel( st
13、ring) ,zlabel( string),给当前X轴或Y轴或Z轴标注文本文注。xlabel (text,Property1, PropertyValue1, Property2, PropertyValue2,)或ylabel (text,Property1, PropertyValue1, Property2, PropertyValue2,)或zlabel (text,Property1, PropertyValue1, Property2, PropertyValue2,)对X轴、Y轴、Z轴分别进行属性设置。(3)文本注释函数text,gtexttext(x,y,string) ,在
14、二维图形(x,y)位置处标注文本注释string text(x,y,z,string) ,在三维图形(x,y,z)位置处标注文本注释stringgtext(string)用鼠标拖动来确定标注文字string的位置。输入特定的文字用表示,见表3.2例3.5 绘制分段函数曲线并添加图形标注。MATLAB程序如下: clcclose allclearx=0:0.05:10;y=zeros(1,length(x);for n=1:length(x) if x(n)>=8 y(n)=1; elseif x(n)>=6 y(n)=5-x(n)/2 elseif x(n)>=4 y(n)=
15、2 else y(n)=sqrt(x(n) endendplot(x,y)axis(0 10 0 2.5)title('分段函数曲线');xlabel('x')ylabel('y')text(2,1.3,'y=x1/2');text(4.5,1.9,'y=2');text(7.3,1.5,'y=5-x/2');text(8.5,0.9,'y=1');程序执行结果如图3.6所示。图3.6 绘制分段函数曲线并添加图形标注(4)创建图形窗命令figure figure,打开不同的图形窗口,
16、以便绘制不同的图形figure('PropertyName',PropertyValue,.),创建具有特定属性值的图形窗口figure(h),创建或显示句柄h定义的图形窗口,如果h不是整数,则返回错误。h = figure(.)(5)设置网格线命令gridgrid on (off),对当前做标图加上网格线或撤销网格线。若直接调用grid命令即可设置或撤销网格线(6)保持图形窗口内容命令holdhold on ( off ) 保持当前图形窗口内容命令(解除保持)。若直接调用hold命令即可保持或解除保持当前图形窗口内容。例3.6分别绘制正余弦曲线并绘制标题,添加或去除栅格。MA
17、TLAB程序如下:close allclcclear%定义时间范围t=0:pi/20:9*pi;figure(1) %建立图形窗口1plot(t,sin(t),'r:*')grid on %在所画出的图形坐标中添加栅格,注意用在plot之后text(pi,0,' leftarrow sin(pi)','FontSize',18)title('添加栅格的正弦曲线')xlabel ('x')ylabel ('sint')figure(2)plot(t,cos(t)grid on pausegrid of
18、f %删除栅格text(pi,0,' leftarrow cos(pi)','FontSize',18)title('去除栅格的余弦曲线')xlabel ('x')ylabel ('cost')程序执行结果如图3.7,3.8所示。图3.7 正弦曲线图3.8 余弦曲线(7)图形标注函数legendlegend('string1','string2',.),在当前图中添加图例;legend(.,pos) 由pos 确定图例标注的位置,可以返回给句柄:h= legend(.,pos)参数字
19、符串的含义:pos = -1放置图例在轴边界的右边; pos = 0 放置图例在轴边界里;pos = 1 放置图例在轴边界里右上角 (为默认设置); pos = 2放置图例在轴边界里左上角; pos = 3放置图例在轴边界里左下角; pos = 4放置图例在轴边界里右下角;Legend off ,撤销当前坐标图上的图例。例3.7 给正弦余弦曲线图形添加图例 MATLAB程序如下:x = -pi:pi/20:pi;plot(x,cos(x),'-ro',x,sin(x),'-.b')h = legend('cos','sin',2)
20、;程序执行结果如图3.9所示。图3.9 添加图例的正余弦曲线3.1.4绘制二维图形的其他函数1. 函数绘图命令fplot和分割图形显示窗口命令subplot(m,n,k)fplot(function,limits):绘制函数曲线在一个指定范围.其中,limits是一个指定x-轴范围的向量xmin xmax,或者是x轴和y轴的范围的向量xmin xmax ymin ymax。 subplot(m,n,p) 按平铺位置建立子图坐标系,将一个图形窗口分成m*n个子图窗口,从左至右,从上往下第p个子图形窗口。例3.8 将一个图形窗口分割成4个子图窗口,并且分别绘制不同函数曲线。MATLAB程序如下:s
21、ubplot(2,2,1),fplot('humps',0 1)subplot(2,2,2)fplot('abs(exp(-j*x*(0:9)*ones(10,1)',0 2*pi)subplot(2,2,3)fplot('tan(x),sin(x),cos(x)',2*pi*-1 1 -1 1)subplot(2,2,4)fplot('sin(1./x)',0.01 0.1,1e-3)程序执行结果如图3.10所示。图3.10 subplot函数和fplot函数的运用2、双纵坐标绘图命令plotyyplotyy(X1,Y1,X2,
22、Y2),设有两个纵坐标Y1, Y2,以便绘制两个y尺度不同的变量,但x仍用同一个比例尺。例3.9 在同一图形窗口按不同纵坐标绘制曲线。MATLAB程序如下:x = 0:0.01:20;y1 = 200*exp(-0.05*x).*sin(x);y2 = 0.8*exp(-0.5*x).*sin(10*x);plotyy(x,y1,x,y2);程序执行结果如图3.11所示。从图中可以看出,左纵坐标的幅度范围为-200,200,对应y1,而右纵坐标的幅度范围为-0.8 0.8,对应y2。图3.11 曲线200*exp(-0.05*x).*sin(x)和200*exp(-0.05*x).*sin(x
23、);3.其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,)前3个函数的用法与plot函数相似,只是没有多输入变量形式。fill函数按向量元素下标渐增次序依次用直线段连接x、y对应元素定义的数据点。假如这样连接所得折线不封闭,那么MATLAB将自动把该折线的首尾连接起来,构成封闭多边形。然后将多边形内部涂满指定的颜色。例3.10 分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。MATLAB程序
24、如下: x=0:0.35:7; y=2*exp(-0.5*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,2,3);stairs(x,y,'b'); title('stairs(x,y,
25、9;'b'')');axis(0,7,0,2); subplot(2,2,4);stem(x,y,'k'); title('stem(x,y,''k'')');axis(0,7,0,2);程序运行结果如图3.12所示。图3.12 几种不同形式的二维图形4. 极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。例3.11 绘制=sin(2)cos(2)的极坐标图。MATLAB程序如下:
26、 theta=0:0.01:2*pi; rho=sin(2*theta).*cos(2*theta); polar(theta,rho,'k'); 程序运行结果如图3.13所示。图3.13 极坐标图5对数坐标图形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轴仍
27、保持线性刻度。semilogy函数也使用半对数坐标,y轴为常用对数刻度,而x轴仍保持线性刻度。loglog函数使用全对数坐标,x、y均采用常用对数刻度。此外还有一个函数logspace,可以按对数等间距地来产生一个向量,其调用格式为:logspace(a,b,n)其中,a和b是生成向量的第一个和最后一个元素,n是元素总数。当n省略时,自动产生50个元素。例3.12绘制的对数坐标图并与直角线性坐标图进行比较。MATLAB程序如下: x=0:0.1:10; y=10*x.*x; subplot(2,2,1);plot(x,y);title('plot(x,y)'); grid on
28、; 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; 程序运行结果如图3.14所示。图3.14 对数坐标图6 其他形式的图形MATLAB提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。例3.13绘制图形:(
29、1)某次考试优秀、良好、中等、及格、不及格的人数分别为:7,17,23,19,5,试用饼图作成绩统计分析。(2)绘制复数的相量图:3+2i、4.5-i和-1.5+5i。MATLAB程序如下: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('相量图');程序执行结果如图3.15所示
30、。 图3.15 其他形式二维图形特殊二维绘图函数bar 绘制直方图polar 绘制极坐标图 stairs 绘制阶梯图 stem 绘制火柴杆图 pie 绘制饼图 comet 绘制彗星曲线errorbar 绘制误差棒图 compass 复数向量图(罗盘图) feather 复数向量投影图(羽毛图) quiver 向量场图 area 区域图rose 绘制统计扇形图 convhull 凸壳图 scatter 离散点图hist 绘制统计直方图例14,绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)例15:阶梯绘图h2=1 1;1 -1;h4=h2 h2;h2 -h2;h
31、8=h4 h4;h4 -h4;t=1:8;subplot(8,1,1);stairs(t,h8(1,:);axis('off')subplot(8,1,2);stairs(t,h8(2,:);axis('off')subplot(8,1,3);stairs(t,h8(3,:);axis('off')subplot(8,1,4);stairs(t,h8(4,:);axis('off')subplot(8,1,5);stairs(t,h8(5,:);axis('off')subplot(8,1,6);stairs(t,
32、h8(6,:);axis('off')subplot(8,1,7);stairs(t,h8(7,:);axis('off')subplot(8,1,8);stairs(t,h8(8,:);axis('off')h2=1 1;1 -1;h4=h2 h2;h2 -h2;h8=h4 h4;h4 -h4;t=1:8;for i=1:8subplot(8,1,i);stairs(t,h8(i,:)axis('off')end例16:绘制火柴杆绘图 t=0:0.2:2*pi; y=cos(t); stem(y)绘制直方图格式bar(y,opt
33、ion):以x=1,2,3为各个数据点的x 坐标,以y向量的各个对应元素为y坐标,画出一个垂直放置的二维直方图。bar(x,y,option):以向量x的各个对应元素为x 坐标,以y向量的各个对应元素为y坐标,画出一个垂直放置的二维直方图。option:线型和颜色绘制直方图格式bar(y,stck):以x=1,2,3为各个数据点的x 坐标,以矩阵y的各个列向量的累加值为y坐标,画出1个垂直放置的、累加式的二维直方图bar(y,group):以x=1,2,3为各个数据点的x 坐标,以矩阵y的各个列向量的累加值为y坐标,画出1个垂直放置的、分组式的二维直方图。 xdata,ydata=bar(x,y):直方图数据的记忆。例17绘制直方图例子y1=15,35,10,20,20;y2=15,35,10;20,20,15;10,15,30;subplot(2,2,1)bar(y1)title('单个直方图')subplot(2,2,2)bar(y2)title('累加直方图')subplot(2,1,2)bar(y2)title('分组直方图')绘制水平放置的直方图格式barh(y,option)barh(x,y,option)barh(y,stck):
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婚前签婚后财产协议书
- 土石方运输合同协议书
- 调换铺面协议书
- 父亲和亲戚买房协议书
- 校园暴力和欺凌协议书
- 老公保证协议书
- 苗木成活协议书
- 职能授权协议书
- 美加谈判协议书
- 炸鸡店入股合同协议书
- 2024年中国海鲜水饺市场调查研究报告
- 模拟试卷(7)-【中职专用】2025年职教高考语文冲刺模拟卷(职教高考)解析版
- 【MOOC】成本会计学-西北农林科技大学 中国大学慕课MOOC答案
- 《反洗钱培训》课件
- 博飞全站仪BTS-812CLA说明书
- LNG详细工艺流程
- 《公路建设项目文件管理规程》
- 2024-2030年中国产权交易行业前景动态与未来发展形势报告
- 门窗合伙人合同协议书范文范本
- 红色经典影片与近现代中国发展学习通超星期末考试答案章节答案2024年
- 户外空调外机清洗的安全协议书
评论
0/150
提交评论