zoukankan      html  css  js  c++  java
  • matlab中plot使用方法

    MATLAB有非常强的图形功能,能够方便地实现数据的视觉化。强大的计算功能与图形功能相结合为MATLAB在科学技术和教学方面的应用提供了更加广阔的天地。以下着重介绍二维图形的画法,对三维图形仅仅作简单叙述。

     

    5.1 二维图形的绘制

    5.1.1 基本形式

    二维图形的绘制是MATLAB语言图形处理的基础,MATLAB最经常使用的画二维图形的命令是plot,看两个简单的样例:

    >> y=[0 0.58 0.70 0.95 0.83 0.25];

    >> plot(y)

    生成的图形见图5-1,是以序号收集:matlab中plot使用方法为横坐标、数组y的数值为纵坐标画出的折线。

    >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值

    >> y=sin(x);

    >> plot(x,y)

    生成的图形见图5-2,是收集:matlab中plot使用方法30个点连成的光滑的正弦曲线。

    收集:matlab中plot使用方法收集:matlab中plot使用方法

     

                                 图5-2

    5.1.2 多重线

    在同一个画面上能够画很多条曲线,仅仅需多给出几个数组,比如

    >> x=0:pi/15:2*pi;

    >> y1=sin(x)

    >> y2=cos(x)

    >> plot(x,y1,x,y2)

    则能够画出图5-3。多重线的还有一种画法是利用hold命令。在已经画好的图形上,若设置hold onMATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。比如:

    >> x=linspace(0,2*pi,30); y=sin(x); plot(x,y)

    先画好图5-2,然后用下述命令添加cos(x)的图形,也可得到图5-3

    >> hold on

    >> z=cos(x); plot(x,z)

    >> hold off

    收集:matlab中plot使用方法收集:matlab中plot使用方法

    5-4

    5.1.3 线型和颜色

    MATLAB对曲线的线型和颜色有很多选择,标注的方法是在每一对数组后加一个字符串參数,说明例如以下:

    线型 线方式 - 实线 :点线 -. 虚点线 - - 波折线。

    线型 点方式 . 圆点 +加号 * 星号 x x o 小圆

    颜色y黄; r红; g绿; b蓝; w白; k黑; m紫; c.

    以以下的样例说明使用方法:

    >> x=0:pi/15:2*pi;

    >> y1=sin(x); y2=cos(x);

    >> plot(x,y1,’b:+’,x,y2,’g-.*’)

    可得图形5-4

    5.1.4 网格和标记

    在一个图形上能够加网格、标题、x轴标记、y轴标记,用下列命令完毕这些工作。

    >> x=linspace(0,2*pi,30); y=sin(x); z=cos(x);

    >> plot(x,y,x,z)

    >> grid

    >> xlabel(‘Independent Variable X’)

    >> ylabel(‘Dependent Variables Y and Z’)

    >> title(‘Sine and Cosine Curves’)

    它们产生图5-5

    收集:matlab中plot使用方法

                                               图5-5

    也能够在图形的不论什么位置加上一个字符串,如用:

    >> text(2.5,0.7,’sinx’)

    表示在坐标x=2.5, y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令:

    >> gtext(‘sinx’)

    在图形窗体十字线的交点是字符串的位置,用鼠标点一下就能够将字符串放在那里。

     

    5.1.5 坐标系的控制

    在缺省情况下MATLAB自己主动选择图形的横、纵坐标的比例,假设你对这个比例不惬意,能够用axis命令控制,经常使用的有:

    axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值

    axis equal axis(‘equal’) x轴和y轴的单位长度同样

    axis square axis(‘square’) 图框呈方形

    axis off axis(‘off’) 清除坐标刻度

    还有axis auto axis image axis xy axis ij axis normal axis on axis(axis)

    使用方法可參考在线帮助系统。

    5.1.6 多幅图形

    能够在同一个画面上建立几个坐标系, subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每一个区域中分别画一个图,

    >> x=linspace(0,2*pi,30); y=sin(x); z=cos(x);

    >> u=2*sin(x).*cos(x); v=sin(x)./cos(x);

    >> subplot(2,2,1),plot(x,y),axis([0 2*pi –1 1]),title(‘sin(x)’)

    >> subplot(2,2,2),plot(x,z),axis([0 2*pi –1 1]),title(‘cos(x)’)

    >> subplot(2,2,3),plot(x,u),axis([0 2*pi –1 1]),title(‘2sin(x)cos(x)’)

    >> subplot(2,2,4),plot(x,v),axis([0 2*pi –20 20]),title(‘sin(x)/cos(x)’)

    共得到4幅图形,见图5-6.

    5-6

    5.2 三维图形

    限于篇幅这里仅仅对几种经常使用的命令通过样例作简介.

    5.2.1 带网格的曲面

    作曲面z=f(x,y)的图形

    收集:matlab中plot使用方法

    用下面程序实现:

    >> x=-7.5:0.5;7.5;

    >> y=x;

    >> [X,Y]=meshgrid(x,y); (3维图形的X,Y数组)

    >> R=sqrt(X.^2+Y.^2)+eps; (eps是防止出现0/0)

    >> Z=sin(R)./R;

    >> mesh(X,Y,Z) (3维网格表面)

    画出的图形如图5-7. mesh命令也能够改为surf, 仅仅是图形效果有所不同,读者能够上机查看结果。

    收集:matlab中plot使用方法

     5-8

    5.2.2 空间曲线

    作螺旋线 x=sint, y=cost, z=t

    用下面程序实现:

    >> t=0:pi/50:10*pi;

    >> plot3(sin(t),cos(t),t) (空间曲线作图函数, 使用方法相似于plot)

    画出的图形如图5-8

    5.2.3 等高线

    contour contour3 画曲面的等高线,如对图5-7的曲面, 在上面的程序后接

    contour(X,Y,Z,10) 就可以得到10条等高线。

    5.2.4 其他

    较实用的是给三维图形指定观察点的命令view(azi,ele)azi 是方位角, ele 是仰角.

    缺省时 azi=收集:matlab中plot使用方法ele=收集:matlab中plot使用方法.

     

    5.3 图形的输出

    在数学建模中,往往须要将产生的图形输出到Word文档中。通常可採用下述方法:

    首先,在MATLAB图形窗体中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中能够把图形以emfbmpjpgpgm等格式保存。然后,再打开对应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入对应的图片就可以。

  • 相关阅读:
    24. Swap Nodes in Pairs
    49. Group Anagrams
    280. Wiggle Sort
    274. H-Index
    K Closest Numbers In Sorted Array
    Closest Number in Sorted Array
    Last Position of Target
    Classical Binary Search
    350. Intersection of Two Arrays II
    Sort Integers II
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4203201.html
Copyright © 2011-2022 走看看