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,是以序号为横坐标、数组y的数值为纵坐标画出的折线。

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

>> y=sin(x);

>> plot(x,y)

生成的图形见图5-2,是上30个点连成的光滑的正弦曲线。

 

图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 on,MATLA将把新的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

图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:

图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)的图形

用下面程序实现:

>> 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, 仅仅是图形效果有所不同,读者能够上机查看结果。

图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=ele=.

 

5.3 图形的输出

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

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

matlab中plot使用方法的更多相关文章

  1. 【原创】Matlab中plot函数全功能解析

    [原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...

  2. Matlab中plot函数全功能解析

    Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName ...

  3. matlab中struct创建方法

    MATLAB中struct创建方法可分为:直接创建法和struct()函数创建法 (1)直接创建: 直接定义字段,像使用一般matlab变量一样,不需要事先声明,支持动态扩充.下面创建一个Studen ...

  4. Matlab中函数定义方法

    Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件 ...

  5. MATLAB中plot()画图的颜色线型和希腊字母参数设置

    y         黄色           ·             点线      m         粉红           ○             圈线      c          ...

  6. Matlab中plot函数参数解析

    功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue, ...

  7. Matlab中plot、fplot、ezplot的使用方法和区别

    函数plot 是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的.也就是说,使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标; 常用格式为: (1)plot(x) 当x ...

  8. [ZT] matlab中plot画图参数的设置

    一.Matlab绘图中用到的直线属性包括: (1)LineStyle:线形 (2)LineWidth:线宽 (3)Color:颜色 (4)MarkerType:标记点的形状 (5)MarkerSize ...

  9. matlab中plot画图参数的设置

    原文链接:http://blog.sciencenet.cn/blog-281551-573856.html 一.Matlab绘图中用到的直线属性包括: (1)LineStyle:线形 (2)Line ...

随机推荐

  1. 【.Net基础拾遗】品味OO继承

    0X1 引言 提起面向对象,每个人都有不同的见解.但提的最多的无非就是:对象.封装.继承.多态.差不多就是这些元素构成了面向对象设计开发的基本逻辑.面向对象编程,“对象”指的是什么?这里的" ...

  2. 在springmvc中controller的一个方法处理多个不同请求

    value的uri值为以下三类: A) 可以指定为普通的具体值: B)  可以指定为含有某变量的一类值(URI Template Patterns with Path Variables): @Req ...

  3. Ajax 实现无刷新分页

    Ajax 实现无刷新分页

  4. nginx access_log 完全关闭

    最近在配置本地nginx开发环境时,发现一个问题,当server段不指定access_log时,并且http段中也未指定任何 access_log参数时,它会默认写到logs/access.log这个 ...

  5. Android AES加密算法及事实上现

    昨天老大叫我看看android加密算法.于是网上找了找,找到了AES加密算法.(当然还有MD5,BASE64什么的http://snowolf.iteye.com/blog/379860这篇文章列举了 ...

  6. IOS 获取网络图像尺寸 更改 图像色彩值 什么一套方法灰色

    直接在代码 头文件 // 图片处理 0 半灰色 1 灰度 2 深棕色 3 反色 +(UIImage*)imageWithImage:(UIImage*)image grayLevelType:(UII ...

  7. Android 系统稳定性 - ANR(一)

    文章都为原创,转载请注明出处,未经允许而盗用者追究法律责任.很久之前写的了,留着有点浪费,共享之.编写者:李文栋  如果你是一个Android应用程序开发人员,你的人生中不可避免的三件事情是:死亡.缴 ...

  8. hdu1730 Northcott Game,Nim-sum

    题解: 转化成求Nim-sum 每行黑白棋的初始间距作为每堆石子个数 假设当前为P态,则无论当前选手如何操作,下一个选手都能使其操作后的局面又变为P态. Nim-sum = 0,即P态. #inclu ...

  9. SVN - 笔记

    SVN(版本控制) 1.什么是SVN · 多人共同开发同一个项目,内部最大的问题是,在比较短的时间内如果有多人同时开发同一个文件,会造成彼此的代码相互覆盖的情况发生. · 管理着随时间改变的数据,这些 ...

  10. Deamon Thread 讲解

    The daemon thread's life cycle is same with the life cycle of the application which starts this daem ...