您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 第4章MATLAB绘图.
第4章MATLAB绘图MATLAB二维数据曲线图的绘制MATLAB三维图形的绘制MATLAB图形修饰处理MATLAB图像处理与动画制作4.1二维数据曲线图4.1.1绘制单根二维曲线(直角坐标系)基本函数:plot函数,不需要带输出参数plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。x,y数据可以直接用向量给出,也可以同过冒号表达式和数学表达式得出。得到将数据点连接起来的曲线。数据点越多,曲线越光滑。例:x=[0,1,3,5,6,7,8,13,15,16];y=[2,3,5,6,2,3,5,18,23,10];plot(x,y)例4-1在0≤x≤2区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)注意:绘图时,书写数学表达式用点运算。例4-2绘制参数方程给出的曲线。程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);plot函数的调用格式只包含一个输入参数:plot(x)当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。x=1:2:9;plot(x);当x是复数向量时,以该向量元素的实部为横坐标,虚部为纵坐标画出一条曲线。x=[1+2i,2+4i,3+2i];plot(x);相当于plot(real(x),imag(x))4.1.2绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。x=[1,3,5,7];y=[1,2,3,4;5,6,7,8];plot(x,y);(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。x=[1,2,3;4,5,6];y=[6,6,3;8,6,6,];plot(x,y);(3)只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。x=[1,2,3;4,5,6];plot(x);当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,同一向量对长度相同,不同向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。(重点)x1=0:pi/10:2*pi;x2=1:0.5:6;y1=sin(x1);y2=x2-1;plot(x1,y1,x2,y2)(2)当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。3.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为:plotyy(x1,y1,x2,y2)其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对。例4-4用不同标度在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plotyy(x,y1,x,y2);*4.图形保持Matlab每执行一次绘图命令后就会刷新窗口,原有图形将消失,如果想在原有图形上继续添加新图形,使用hold命令。holdon/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换。例4-5采用图形保持,在同一坐标内绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。程序如下:x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);plot(x,y1)holdony2=2*exp(-0.5*x).*cos(pi*x);plot(x,y2);holdoff4.1.3设置曲线样式MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:plot(x1,y1,’选项1’,x2,y2,’选项2’,…,xn,yn,’选项n’)例4-6在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx)和y2=2e-0.5xcos(πx)。程序如下:x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);plot(x,y1,'r*-',x,y2,'b:')4.1.4图形标注与坐标控制1.图形标注有关图形标注函数的调用格式为:title(’图形名称’)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…)使用图形标注函数时:函数中的说明文字,除使用标准的ASCII字符外,还可使用LaTeX格式的控制字符,这样就可以在图形上添加希腊字母、数学符号及公式等内容。例如,text(0.3,0.5,‘sin({\omega}t+{\beta})’)将得到标注效果sin(ωt+β)。例4-7在0≤x≤2区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。程序如下:x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,'*',x,y2)title('xfrom0to2{\pi}');%加图形标题xlabel('VariableX');%加X轴说明ylabel('VariableY');%加Y轴说明text(0.8,1.5,'曲线y1=2e^{-0.5x}');%在指定位置添加图形说明text(2.5,1.1,'曲线y2=cos(4{\pi}x)');legend('y1','y2')%加图例*2.坐标控制axis函数的调用格式为:axis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的格式还有:axisequal:纵、横坐标轴采用等长刻度。axissquare:产生正方形坐标系(缺省为矩形)。axisauto:使用缺省设置。axisoff:取消坐标轴。axison:显示坐标轴。给坐标加网格线用grid命令来控制。gridon/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。给坐标加边框用box命令来控制。boxon/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。例4-8在同一坐标中,可以绘制3个同心圆,并加坐标控制。程序如下:t=0:0.01:2*pi;x=exp(i*t);y=[x;2*x;3*x]';plot(y)gridon;%加网格线boxon;%加坐标边框axisequal%坐标轴采用等刻度4.1.5图形的可视化编辑MATLAB在图形窗口中提供了可视化的图形编辑工具,利用图形窗口菜单栏或工具栏中的有关命令可以完成对窗口中各种图形对象的编辑处理。常用方法。以例4-74.1.6图形窗口的分割subplot函数的调用格式为:subplot(m,n,p)该函数将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形。例在图形窗口中,以子图形式同时绘制多根曲线。x=0:pi/100:2*pi;y1=0.2*exp(-0.5*x).*cos(4*pi*x);subplot(2,2,1)plot(x,y1);y2=2*exp(-0.5*x).*cos(pi*x);subplot(2,2,4)plot(x,y2);*4.2其他二维图形4.2.1对函数自适应采样的绘图函数fplot函数的调用格式为:fplot(fname,lims,tol,选项)其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统默认值为2e-3。选项定义与plot函数相同。4.2.2其他坐标系下的二维数据曲线图1.对数坐标图形MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)semilogy(x1,y1,选项1,x2,y2,选项2,…)loglog(x1,y1,选项1,x2,y2,选项2,…)2.极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。4.2.3二维统计分析图在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)4.3隐函数绘图MATLAB提供了一个ezplot函数绘制隐函数图形。(1)对于函数f=f(x),ezplot函数的调用格式为:ezplot(‘f(x)’)在默认区间-2πx2π绘制f=f(x)的图形。ezplot(‘f(x)’,[a,b])在区间axb绘制f=f(x)的图形。(2)对于隐函数f=f(x,y),ezplot函数的调用格式为:ezplot(‘f(x,y)’)在默认区间-2πx2π和-2πy2π绘制f(x,y)=0的图形。ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])在区间xminxxmax和yminyymax绘制f(x,y)=0的图形。ezplot(‘f(x,y)’,[a,b])在区间axb和ayb绘制f(x,y)=0的图形。(3)对于参数方程x=x(t)和y=y(t),ezplot函数的调用格式为:ezplot(‘x(t)’,’y(t)’)在默认区间0t2π绘制x=x(t)和y=y(t)的图形。ezplot(‘x(t)’,’y(t)’,[tmin,tmax])在区间tminttmax绘制x=x(t)和y=y(t)的图形。例4-15隐函数绘图应用举例。程序如下:subplot(2,2,1);ezplot('x^2+y^2-9');axisequalsubplot(2,2,2);ezplot('x^3+y^3-5*x*y+1/5')subplot(2,2,3);ezplot('cos(tan(pi*x))',[0,1])subplot(2,2,4);ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi])4.4三维图形4.4.1三维曲线基本函数:plot3函数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对应
本文标题:第4章MATLAB绘图.
链接地址:https://www.777doc.com/doc-2156379 .html