版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB绘图3.1二维图形3.2三维图形3.3实验四绘图函数的应用
13.1二维图形3.1.1绘制二维曲线的基本函数1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。2例3.1绘制出显函数方程在区间内的曲线。在命令窗口输入如下语句x=-pi:pi/10:pi;%以pi/10为步长y=tan(sin(x))-sin(tan(x));%求出各点上的函数值plot(x,y,'--rs','LineWidth',2,...'MarkerEdgeColor','k',...'MarkerFaceColor','g',...'MarkerSize',10)得到的图形如图3.1所示,并标上了线型属性。3图3.1以pi/10为步长的曲线tan(sin(x))-sin(tan(x))4
由于plot()函数只将给定点用直线连接起来,因此步长选得过大,曲线将看似一折线,因此将上述绘图语句步长改为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所示。5图3.2细化步长后的曲线tan(sin(x))-sin(tan(x))6例3.2用不同的线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。MATLAB程序如下:x=[0:pi/100:2*pi]';y1=2*exp(-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为包络线7程序执行结果如图3.3所示,图中首先用黑色虚线绘出两根包络线,再用蓝色双划线绘出曲线y。图3.3用不同线型和颜色绘制的曲线8
说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x)。9
2.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)10
3.1.2设置轴的形式与刻度设置在绘制图形时,用户可以使用函数axis和set对坐标轴的刻度范围进行重新设定,其调用格式如下:(1)函数axisaxis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的用法还有:axisequal纵、横坐标轴采用等长刻度axissquare产生正方形坐标系(缺省为矩形)axisauto使用缺省设置axisoff取消坐标轴axison显示坐标轴11例3.3绘制单位圆。
MATLAB程序如下:clear;closeall;clct=[0:0.01:2*pi];%定义时间范围x=sin(t);y=cos(t);plot(x,y)axis([-1.51.5-1.51.5])%限定x轴和y轴的显示范围pausegridonaxis('equal')12程序运行结果如图3.4所示。图3.4单位圆13(2)函数setset(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',[01.43.1456.28])set(gca,'xticklabel','0|1.4|half|5|one')14程序运行结果如图3.5所示。图3.5设置刻度标示的正弦曲线153.1.3图形的标注、网格及图例说明
绘制图形时,可以对图形加上一些说明,添加网格和图例等,基本函数及其调用格式如下:(1)添加图形标题命令titletitle(‘string’),在当前坐标系的顶部加一个文本串string,作为图形的标题。title(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…),设置标题名属性。(2)添加坐标轴标志函数xlabel、ylabel、zlabelxlabel(‘string’),ylabel(‘string’),zlabel(‘string’),给当前X轴或Y轴或Z轴标注文本文注。16xlabel(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…)或ylabel(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…)或zlabel(‘text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,…)对X轴、Y轴、Z轴分别进行属性设置。17(3)文本注释函数text,gtexttext(x,y,‘string’),在二维图形(x,y)位置处标注文本注释‘string’text(x,y,z,‘string’),在三维图形(x,y,z)位置处标注文本注释‘string’gtext(‘string’)-用鼠标拖动来确定标注文字‘string’的位置。输入特定的文字用\表示,见表3.218例3.5绘制分段函数曲线并添加图形标注。MATLAB程序如下:
clccloseallclearx=0:0.05:10;y=zeros(1,length(x));forn=1:length(x)ifx(n)>=8
y(n)=1;elseifx(n)>=6y(n)=5-x(n)/2
19elseifx(n)>=4
y(n)=2elsey(n)=sqrt(x(n))endendplot(x,y)axis([01002.5])title('分段函数曲线');xlabel('x')ylabel('y')text(2,1.3,'y=x^{1/2}');text(4.5,1.9,'y=2');text(7.3,1.5,'y=5-x/2');text(8.5,0.9,'y=1');20程序执行结果如图3.6所示。图3.6绘制分段函数曲线并添加图形标注21(4)创建图形窗命令figurefigure,打开不同的图形窗口,以便绘制不同的图形figure('PropertyName',PropertyValue,...),创建具有特定属性值的图形窗口figure(h),创建或显示句柄h定义的图形窗口,如果h不是整数,则返回错误。h=figure(...)22(5)设置网格线命令gridgridon(off),对当前做标图加上网格线或撤销网格线。若直接调用grid命令即可设置或撤销网格线(6)保持图形窗口内容命令holdholdon(off)保持当前图形窗口内容命令(解除保持)。若直接调用hold命令即可保持或解除保持当前图形窗口内容。23
例3.6分别绘制正余弦曲线并绘制标题,添加或去除栅格。MATLAB程序如下:closeallclcclear%定义时间范围t=[0:pi/20:9*pi];figure(1)%建立图形窗口124plot(t,sin(t),'r:*')gridon%在所画出的图形坐标中添加栅格,注意用在plot之后text(pi,0,'\leftarrowsin(\pi)','FontSize',18)title('添加栅格的正弦曲线')xlabel('x')ylabel('sint')figure(2)plot(t,cos(t))gridonpausegridoff%删除栅格25text(pi,0,'\leftarrowcos(\pi)','FontSize',18)title('去除栅格的余弦曲线')xlabel('x')ylabel('cost')程序执行结果如图3.7,3.8所示。26图3.7正弦曲线27图3.8余弦曲线28(7)图形标注函数legendlegend('string1','string2',...),在当前图中添加图例;legend(...,pos)由pos确定图例标注的位置,可以返回给句柄:h=legend(...,pos)参数字符串的含义:pos=-1放置图例在轴边界的右边;pos=0放置图例在轴边界里;pos=1放置图例在轴边界里右上角(为默认设置);pos=2放置图例在轴边界里左上角;pos=3放置图例在轴边界里左下角;pos=4放置图例在轴边界里右下角;Legendoff,撤销当前坐标图上的图例。29例3.7给正弦余弦曲线图形添加图例MATLAB程序如下:x=-pi:pi/20:pi;plot(x,cos(x),'-ro',x,sin(x),'-.b')h=legend('cos','sin',2);程序执行结果如图3.9所示。30
图3.9添加图例的正余弦曲线313.1.4绘制二维图形的其他函数1.函数绘图命令fplot和分割图形显示窗口命令subplot(m,n,k)fplot(‘function’,limits):绘制函数曲线在一个指定范围.其中,limits是一个指定x-轴范围的向量[xminxmax],或者是x轴和y轴的范围的向量[xminxmaxyminymax]。
subplot(m,n,p)按平铺位置建立子图坐标系,将一个图形窗口分成m*n个子图窗口,从左至右,从上往下第p个子图形窗口。32例3.8将一个图形窗口分割成4个子图窗口,并且分别绘制不同函数曲线。MATLAB程序如下:subplot(2,2,1),fplot('humps',[01])subplot(2,2,2)33fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[02*pi])subplot(2,2,3)fplot('[tan(x),sin(x),cos(x)]',2*pi*[-11-11])subplot(2,2,4)fplot('sin(1./x)',[0.010.1],1e-3)程序执行结果如图3.10所示。34图3.10subplot函数和fplot函数的运用352、双纵坐标绘图命令plotyyplotyy(X1,Y1,X2,Y2),设有两个纵坐标Y1,Y2,以便绘制两个y尺度不同的变量,但x仍用同一个比例尺。36例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.80.8],对应y2。37图3.11曲线200*exp(-0.05*x).*sin(x)和200*exp(-0.05*x).*sin(x);383.其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)39前3个函数的用法与plot函数相似,只是没有多输入变量形式。fill函数按向量元素下标渐增次序依次用直线段连接x、y对应元素定义的数据点。假如这样连接所得折线不封闭,那么MATLAB将自动把该折线的首尾连接起来,构成封闭多边形。然后将多边形内部涂满指定的颜色。40例3.10分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。MATLAB程序如下:
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,''b'')');axis([0,7,0,2]);subplot(2,2,4);stem(x,y,'k');title('stem(x,y,''k'')');axis([0,7,0,2]);41程序运行结果如图3.12所示。图3.12几种不同形式的二维图形424.极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。43例3.11绘制ρ=sin(2θ)cos(2θ)的极坐标图。MATLAB程序如下:
theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,'k');程序运行结果如图3.13所示。44图3.13极坐标图455.对数坐标图形MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:
semilogx(x1,y1,选项1,x2,y2,选项2,…)semilogy(x1,y1,选项1,x2,y2,选项2,…)loglog(x1,y1,选项1,x2,y2,选项2,…)46其中,选项的定义与plot函数完全一致,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。semilogy函数也使用半对数坐标,y轴为常用对数刻度,而x轴仍保持线性刻度。loglog函数使用全对数坐标,x、y均采用常用对数刻度。此外还有一个函数logspace,可以按对数等间距地来产生一个向量,其调用格式为:logspace(a,b,n)其中,a和b是生成向量的第一个和最后一个元素,n是元素总数。当n省略时,自动产生50个元素。47例3.12绘制的对数坐标图并与直角线性坐标图进行比较。MATLAB程序如下:
x=0:0.1:10;y=10*x.*x;subplot(2,2,1);plot(x,y);title('plot(x,y)');gridon;subplot(2,2,2);semilogx(x,y);title('semilogx(x,y)');gridon;48subplot(2,2,3);semilogy(x,y);title('semilogy(x,y)');gridon;subplot(2,2,4);loglog(x,y);title('loglog(x,y)');gridon;程序运行结果如图3.14所示。49图3.14对数坐标图506其他形式的图形MATLAB提供的绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等。例3.13绘制图形:(1)某次考试优秀、良好、中等、及格、不及格的人数分别为:7,17,23,19,5,试用饼图作成绩统计分析。(2)绘制复数的相量图:3+2i、4.5-i和-1.5+5i。51MATLAB程序如下: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所示。52图3.15其他形式二维图形533.2三维图形3.2.1绘制三维曲线的基本函数最基本的三维图形函数为plot3,可用来绘制三维曲线,其调用格式为:plot3(x,y,z)——x,y,z是长度相同的向量;plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵,以X、Y、Z对应列元素绘制三维曲线,曲线条数等于矩阵列数;plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…),选项的定义和plot函数相同。54例3.14画一个三维的螺旋线。MATLAB程序如下:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)gridonaxissquare程序运行结果如图3.16所示。55
图3.16三维的螺旋线563.2.2三维曲面1.平面网格坐标矩阵的生成函数meshgrid绘制z=f(x,y)所代表的三维曲面图,先要在xy平面选定一矩形区域,假定矩形区域D=[a,b]*[c,d],然后将[a,b]在x方向分成m份,将[c,d]在y方向分成n份,由各划分点分别作平行于两坐标轴的直线,将区域D分成m*n个小矩形,生成代表每一个小矩形顶点坐标的平面网格坐标矩阵。生成网格坐标矩阵的函数为meshgrid,其调用格式如下:57[X,Y]=meshgrid(x,y)转换向量x,y为一个特定的矩阵X,Y,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。因此x=a:dx:b;y=c:dy:d;[X,Y]=meshgrid(x,y);等同于x=a:dx:b;y=(c:dy:d)';X=ones(size(y))*x;Y=y*ones(size(x));58例3.15已知6<x<30,15<y<36,求不定方程2x+5y=126的整数解。MATLAB程序如下:x=7:29;y=16:35;[x,y]=meshgrid(x,y);%在[5,29]×[14,35]区域生成网格坐标z=2*x+5*y;k=find(z==126);%找出解的位置59x1=x(k),y1=y(k)%输出对应位置的x,y即方程的解程序执行结果如下:x1=8131823y1=22201816602.绘制三维曲面的函数surf函数和mesh函数MATLAB提供了mesh函数和surf函数来绘制三维曲面图。Mesh函数用于绘制三维网格图,surf函数用于绘制三维曲面图,各线条之间的曲面用颜色填充,其调用格式如下:mesh(X,Y,Z),根据矩阵X、Y、Z绘制彩色的三维网线图。X、Y、Z中对应的元素为三维空间上的点,点与点之间用线连接。其中网线的颜色随着网点高度的改变而改变。61在绘制二元函数z=f(x,y)的三维网格图时,首先应通过[X,Y]=meshgrid(x,y)语句,在X-Y平面上建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中日友好医院招聘9人(第一批)建设笔试参考题库及答案解析
- 2026台州东游酒店有限公司招聘建设考试备考试题及答案解析
- 2026年芜湖高新区(弋江区)国有企业工作人员招聘14人建设笔试备考题库及答案解析
- 2026福建浦盛产业发展集团有限公司下属企业招聘7人建设考试参考试题及答案解析
- 2026云南昭通永善黄华镇中心卫生院招聘6人建设笔试备考题库及答案解析
- 2026山东枣庄市台儿庄区教育系统招聘教师9人建设笔试备考试题及答案解析
- 2026广东科贸职业学院招聘13人(第二批编制)建设笔试备考试题及答案解析
- 2026年4月广西来宾市妇幼保健院招聘2人建设笔试备考题库及答案解析
- 招3人!民和县2026年度校园引才建设笔试备考题库及答案解析
- 2026江苏南京交通职业技术学院招聘9人建设考试参考试题及答案解析
- 牧运通官方兽医试题题库带答案详解(满分必刷)
- 2025水利部综合事业局公开招聘工作人员11人笔试历年常考点试题专练附带答案详解2套试卷
- 充电桩智能运维优化项目完成情况总结汇报
- 急诊护理中的人文关怀实践与案例
- 升压站砌筑工程施工方案
- 煤矿安全操作规程课件
- 医院放射卫生知识培训课件
- 2025-2030中国牦牛乳资源开发利用现状与商业价值评估
- 集团燃气事业部运营与管理细则解析
- 结膜囊冲洗技术操作标准流程
- 2025-2030儿童财商培训市场趋势分析与竞争态势及投资可行性评估报告
评论
0/150
提交评论