您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 第4章 MATLAB绘图2
第4章MATLAB绘图2020/3/3第4章MATLAB绘图4.1图形窗口4.2二维图形4.3三维图形4.4图像与动画4.1图形窗口图形显示窗口figurefigure(n)将多个图形逐个显示图形分割窗口subplotsubplot(m,n,k)将一个图像窗口中分割成m*n块图形叠加holdon;holdoff4.2二维图形4.2.1绘制二维曲线的最基本函数plot1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中,x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。例4.1在0≤X≤2区间内,绘制曲线y=2e-0.5xsin(2πx)。程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)01234567-1.5-1-0.500.511.52说明:(1)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。(2)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。(3)plot函数最简单的调用格式是只包含一个输入参数:plot(y)。例4.2某工厂2000年各月总产值(单位:万元)分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以显示出该厂总产值的变化情况。程序如下:p=[22,60,88,95,56,23,9,10,14,81,56,23];plot(p)02468101201020304050607080901002.含多个输入参数的plot函数含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)3.含选项的plot函数含选项的plot函数调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)其中:‘选项’用来指定曲线线型、颜色及数据点型。具体设置见书P42例4.3用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。程序如下: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');01234567-2-1.5-1-0.500.511.524.图形窗口的分割subplot函数的调用格式为:subplot(m,n,p)例4.4在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。程序如下: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]);4.1.2图象处理(辅助函数)1.图形标注有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,…)具体功能见书P44例4.5给图形添加图形标注。程序如下: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('independentvariableX');%加X轴说明ylabel('independentvariableY');%加Y轴说明text(2.8,0.5,'包络线');%在指定位置添加图形说明text(0.5,0.5,'曲线y');text(1.4,0.1,'离散数据点');legend('包络线','包络线','曲线y','离散数据点')%加图例01234567-2-1.5-1-0.500.511.52曲线及其包络线independentvariableXindependentvariableY包络线曲线y离散数据点包络线包络线曲线y离散数据点title('曲线及其包络线')legend('包络线','包络线','曲线y','离散数据点')text(2.8,0.5,'包络线')xlabel('independentvariableX');2.坐标控制函数的调用格式为:axis([xminxmaxyminymaxzminzmax])axis函数功能丰富,常用的用法还有:axisequal纵、横坐标轴采用等长刻度axissquare产生正方形坐标系(缺省为矩形)axisauto使用缺省设置axisoff取消坐标轴axison显示坐标轴gridon/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。boxon/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。例4.6用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线,并加网格线。程序如下: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]);%设置坐标holdon;%设置图形保持状态plot(x,y2,'k');gridon;%加网格线boxoff;%不加坐标边框holdoff;%关闭图形保持4.1.3绘制二维图形的其他函数1.其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)例4.7分别以条形图、填充图、阶梯图和杆图形式绘制曲线y=2e-0.5x。程序如下: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]);024600.511.52bar(x,y,'g')024600.511.52fill(x,y,'r')024600.511.52stairs(x,y,'b')024600.511.52stem(x,y,'k')2.极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。例4.8绘制ρ=sin(2θ)cos(2θ)的极坐标图。程序如下:theta=0:0.01:2*pi;rho=sin(2*theta).*cos(2*theta);polar(theta,rho,'k');3.对数坐标图形MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)semilogy(x1,y1,选项1,x2,y2,选项2,…)loglog(x1,y1,选项1,x2,y2,选项2,…)例4.9绘制y=10x2的对数坐标图并与直角线性坐标图进行比较。程序如下: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;subplot(2,2,3);semilogy(x,y);title('semilogy(x,y)');gridon;subplot(2,2,4);loglog(x,y);title('loglog(x,y)');gridon;051005001000plot(x,y)10-110010105001000semilogx(x,y)051010-5100105semilogy(x,y)10-110010110-5100105loglog(x,y)4.3三维图形4.3.1绘制三维曲线的最基本函数plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)例4.10绘制空间曲线。程序如下: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('Linein3-DSpace');text(0,0,0,'origin');xlabel('X'),ylabel('Y'),zlabel('Z');grid;4.3.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);例4.11已知6x30,15y36,求不定方程2x+5y=126的整数解。程序如下:x=7:29;y=16:35;[x,y]=meshgrid(x,y);%在[7,29]×[16,35]区域生成网格坐标z=2*x+5*y;k=find(z==126);%找出解的位置x(k),y(k)%输出对应位置的x,y即方程的解2.绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(x,y,z)surf(x,y,z)例4.12用三维曲面图表现函数z=sin(y)cos(x)。程序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:surf(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('surf');程序3:plot3(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('plot3-1');grid;05100510-1-0.500.51x-axis
本文标题:第4章 MATLAB绘图2
链接地址:https://www.777doc.com/doc-4125814 .html