MATLAB图形功能

MATLAB 图形功能

 

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 等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。

下一页 返回目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值