好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

plot函数使用详解.docx

20页
  • 卖家[上传人]:日度
  • 文档编号:146034589
  • 上传时间:2020-09-25
  • 文档格式:DOCX
  • 文档大小:202.11KB
  • / 20 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 5.1 二维平面图形5.1.1 基本图形函数plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标,常用格式为:(1)plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制曲线当x 为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线,当x 为m n 矩阵时,就由n 条曲线2)plot(x,y) 以x 元素为横坐标值,y 元素为纵坐标值绘制曲线3)plot(x,y1,x,y2,…) 以公共的x 元素为横坐标值,以y1,y2,… 元素为纵坐标值绘制多条曲线例5.1.1 画出一条正弦曲线和一条余弦曲线>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)图5.1.1 函数plot 绘制的正弦曲线在绘制曲线图形时,常常采用多种颜色或线型来区分不同的数据组,MATLAB 软件专门提供了这方面的参数选项(见表5.1.1),我们只要在每个坐标后加上相关字符串,就可实现它们的功能表5.1.1 绘图参数表色彩字符颜色线型字符线型格式标记符号数据点形式标记符号数据点形式y 黄- 实线. 点< 小于号m 紫: 点线o 圆s 正方形c 青-. 点划线x 叉号d 菱形r 红- - 虚线+ 加号h 六角星g 绿* 星号p 五角星b 蓝v 向下三角形w 白^ 向上三角形k 黑> 大于号例如,在上例中输入>> plot(x,y1,r+-,x,y2,k*:)则得图5.1.2图5.1.2 使用不同标记的plot 函数绘制的正弦曲线5.1.2 图形修饰MATLAB 软件为用户提供了一些特殊的图形函数,用于修饰已经绘制好的图形。

      表5.1.2 图形修饰函数表函数 含义grid on (/off) 给当前图形标记添加(取消)网络xlable(‘string’) 标记横坐标ylabel(‘string’) 标记纵坐标title(‘string’) 给图形添加标题text(x,y,’string’) 在图形的任意位置增加说明性文本信息gtext(‘string’) 利用鼠标添加说明性文本信息axis([xmin xmax ymin ymax]) 设置坐标轴的最小最大值例5.1.2 给例5.1.1 的图形中加入网络和标记见图5.1.3 和5.1.4)>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2)>> grid on>> xlabel(independent variable X)>> ylabel(Dependent Variable Y1 & Y2)>> title(Sine and Cosine Curve)>> text(1.5,0.3,cos(x))>> gtext(sin(x))>> axis([0 2*pi -0.9 0.9])图5.1.3 使用了图形修饰的plot 函数绘制的正弦曲线5.1.3 图形的比较显示在一般默认的情况下,MATLAB 每次使用plot 函数进行图形绘制,将重新产生一个图形窗口。

      但有时希望后续的图形能够和前面所绘制的图形进行比较一般来说有两种方法:一是采用hold on(/off)命令,将新产生的图形曲线叠加到已有的图形上;二是采用subplot(m,n,k)函数,将图形窗口分隔成n m 个子图,并选择第k 个子图作为当前图形,然后在同一个视图窗口中画出多个小图形例5.1.3 在同一窗口中绘制线段>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> y3=x;>> y4=log(x);>> plot(x,y1,x,y2)>> hold on>> plot(x,y3)>> plot(x,y4)>> hold off例5.1.4 在多个窗口中绘制图形见图5.1.6)>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> y3=exp(x);>> y4=log(x);>> subplot(2,2,1);>> plot(x,y1);>> subplot(2,2,2);>> plot(x,y2);>> subplot(2,2,3);>> plot(x,y3);>> subplot(2,2,4);>> plot(x,y4);[说明] (1)子窗口的序号按行由上往下,按列从左向右编号。

      2)如果不用指令clf 清除,以后图形将被绘制在子图形窗口中图5.1.6 图形的比较显示(图形窗口分割方法)5.2 三维立体图形5.2.1 三维曲线图与二维图形相对应,MATLAB 提供了plot3 函数,可以在三维空间中绘制三维曲线,它的格式类似于plot,不过多了z 方向的数据plot3 的调用格式为:plot3(x1,y1,z1,x2,y2,z2,...)其中x1,y1,z1,x2,y2,z2,…等分别为维数相同的向量,分别存储着曲线的三个坐标值,该函数的使用方式和plot 类似,也可以采用多种的颜色或线型(见表5.1.1)来区分不同的数据组,只需在每组变量后面加上相关字符串即可实现该功能例5.2.1 绘制方程x=tz=cos(t)在t=[0,2*pi]上的空间方程见图5.2.1)>> clf>> x=0:pi/10:2*pi;>> y1=sin(x);>> y2=cos(x);>> plot3(y1,y2,x,m:p)>> grid on>> xlabel(Dependent Variable Y1)>> ylabel(Dependent Variable Y2)>> zlabel(Independent Variable X)>> title(Sine and Cosine Curve)图5.2.1 函数plot 绘制的三维曲线图5.2.2 三维曲面图如果要画一个三维的曲面,可以使用mesh(X,Y,Z)或surf(X,Y,Z)函数来实现。

      mesh 函数为数据点绘制网格线,图形中的每一个已知点和其附近的点用直线连接surf函数和mesh 的用法类似,但它可以画出着色表面图,图形中的每一个已知点与其相邻点以平面连接为方便测试立体绘图,MATLAB 提供了一个peaks 函数,它可以产生一个的高斯分布矩阵,其生成方程是N N z=3*(1-x).^2.*exp(-(x.^2)-(y+1).^2)-10*(x/5-x.^3-y.^5).*exp(-x.^2-y.^2)-1/3*exp(-(x+1).^2-y.^2)对应的图形是一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点下面使用peaks 函数来比较一下mesh 和surf 的区别例5.2.2 分别用mesh 函数和surf 函数绘制高斯矩阵的曲面>> z=peaks(40);>> mesh(z);>> surf(z);图5.2.2 mesh 函数绘制的三维曲面图图5.2.3 surf 函数绘制的着色表面图在曲面绘图中,另一个常用的函数是meshgrid 函数,其一般引用格式是:[X, Y]=meshgrid (x, y)其中x 和y 是向量,通过meshgrid 函数就可将x 和y 指定的区域转换成为矩阵X 和Y。

      这样我们在绘图时就可以先用meshgrid 函数产生在x-y 平面上的二维的网格数据,再以一组z 轴的数据对应到这个二维的网格,即可画出三维的曲面例5.2.3 绘制方程 sin((x^2+y^2)^(1/2))z = ---------------------(x^2+y^2)^(1/2)在x∈[-7.5,7.5];y∈[-7.5,7.5] 的图形>> x=-7.5:0.5:7.5;y=x;>> [X,Y]=meshgrid(x,y);>> R=sqrt(X.^2+Y.^2)+eps;>> Z=sin(R)./R;>> surf(X,Y,Z)>> xlabel(X 轴方向)>> ylabel(Y 轴方向)>> zlabel(Z 轴方向)(见图5.2.4)图5.2.4-(x^2+y^2))>> clear>> x=-2:0.1:2;y=x;>> [X,Y]=meshgrid(x,y);>> Z=X.*exp(-X.^2-Y.^2);>> surf(X,Y,Z)图5.2.55.2.3 观察点MTALAB 允许用户设置观察点,其指令是: view(azimuth,elevation)其中方位角azimuth 是观察点和坐标原点连线在x-y 平面的投影和y 轴负方向的夹角,仰角elevation 是观察点与坐标原点的连线和x-y 平面的夹角。

      对于这两个角度,三维图形的默认值分别是-37.5 和30,二维图形的默认值是0 和90例5.2.5 从不同的角度观察高斯矩阵的曲面>> z=peaks(40);>> subplot(2,2,1);>> mesh(z);>> subplot(2,2,2);>> mesh(z);>> view(-37.5,-30);>> subplot(2,2,3);>> mesh(z);>> view(180,0);>> subplot(2,2,4);>> mesh(z);>> view(0,90);图5.2.6 对应不同观察点的三维曲面图5.3 其他图形函数除了plot 绘图函数以外,在有些场合对绘制的曲线会有一些特殊要求,这就要其他函数来实现,常用的几种函数如下(见表5.3.1)表5.3.1 其他图形函数表函数 含义loglog 使用对数坐标系绘图semilogx 横坐标为对数坐标轴,纵坐标为线性坐标轴semilogy 横坐标为线性坐标轴,纵坐标为对数坐标轴polar 绘制极坐标图fill 绘制实心图bar 绘制直方图pie 绘制饼图area 绘制面积图quiver 绘制向量场图stairs 绘制阶梯图sterm 绘制火柴杆。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.