§5MATLAB图形功能

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代码输出到word,MATLAB图形输出到word中相关推荐

  1. 如何将matlab代码转为C语言(2)--在C++中调用matlab的函数

    如何将matlab代码转为C语言(2)–在C++中调用matlab的函数 在上一条博文中提供了一种直接在matlab操作中的方法,下面提供一种新的调用方法,即在C++中调用matlab中的dll文件. ...

  2. 如何运行matlab代码?怎样找到matlab主程序?

    下载的代码包里的文件都是干什么的? 当我们从网络上下载matlab的源代码时,得到的通常是代码的压缩包,里面包括很多各种后缀的文件.他们都是什么文件呢,都是干什么用的? m后缀的文件:这是matlab ...

  3. SIR传染模型Matlab代码,sir传染病模型 MATLAB代码运行不了,

    问题描述: sir传染病模型 MATLAB代码运行不了, function y=ill(t,x) a=1;b=0.3; y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; ts ...

  4. morlet小波matlab代码,morlet小波matlab程序

    论-Matlab 7.0复Morlet小波分析操作实例.? 92? 2015年5 月 科技创新 中文科技期刊数据库 ( 文摘版 )自然科学 Matlab 7.0复MorletP]~ 波分析 操作 .. ...

  5. C语言在坐标轴上输出曲线,C语言图形输出习题

    <C语言图形输出习题>由会员分享,可在线阅读,更多相关<C语言图形输出习题(22页珍藏版)>请在人人文库网上搜索. 1.4.4]输入n值,输出如图所示矩形.[4.5]输入n值, ...

  6. mimo-ofdm信道matlab代码,MIMO-OFDM无线通信及MATLAB实现代码

    文件名大小更新时间 MIMO-OFDM无线通信及MATLAB实现代码02019-05-13 MIMO-OFDM无线通信及MATLAB实现代码\add_CFO.m5512019-01-19 MIMO-O ...

  7. matlab代码cwfac,主成分分析的matlab实现完整程序

    主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力.也是 最有活力的软件.它起源于矩阵运算,并已经发展成一种高度集成的计算机语言.它提供了强大的科学运算.灵 ...

  8. matlab 代码分析 内存溢出,matlab内存溢出的解决方案

    (1) 增加虚拟内存:cmd -> taskmgr 打开任务管理器,查看物理内存和虚拟内存,可观察matlab在运行过程中是否超过物理内存和虚拟内存.若超过,增加虚拟内存的方法是不可行的.物理内 ...

  9. 可行方向法的matlab代码,zoutendijk 可行方向法的matlab实现

    (一) .基本思想是: 给定一个可行点)(k x 之后,用某种方法确定一个改进的可行方向k d ,然后沿方向k d ,求解一个有约束的线搜索问题,得极小点k λ,令k k k k d x x λ+=+ ...

  10. 博客园Markdown模式的MATLAB代码高亮方案

    前言 博客园随笔写作可以使用 Markdown 进行编辑,当展示代码时,可以使用下面的语法来对代码块进行展示: ​```language code-content ​``` 一般来说,指明了 lang ...

最新文章

  1. linux入门教程(二)
  2. 这届不敢看体检报告的年轻人还能“年轻”多久?
  3. RuntimeError: size mismatch, m1: [80 x 4], m2: [320 x 50] at ..\aten\src\TH/generic/THTensorMath.cpp
  4. 从技术小白到老司机,这20本书帮你“快进”20年
  5. AgileEAS.NET SOA 中间件Web运行容器管理功能已全部开源,欢迎大家下载、使用、反馈...
  6. Unity 面试经验汇总
  7. 采用Trench肖特基二极管,实现功率密度的显著提升
  8. 机器学习:概念学习FIND-S算法C++实现
  9. 阿里云 OSS图片处理
  10. ASP.NET大作业/ASP.NET期末项目/大作业
  11. mysql数据库character_关于MySQL如何修改character
  12. SOLIDWORKS如何建立基准面
  13. 谷歌浏览器关闭安全模式, 访问 http网站
  14. mongodb的单机和集群安装手册
  15. 联想台式修复计算机,联想台式电脑开机后显示你的电脑需要修复
  16. hive-hwi-0.13.1图形界面配置
  17. 【报告分享】 2020年中国互联网医疗研究报告-36kr(附下载)
  18. Barycentric coordinate system(重心坐标系)
  19. USB2.0(一):基础
  20. ChatGPT和GPT-4的逻辑推理如何?浙大等最新《ChatGPT和GPT-4逻辑推理能力全面评测》论文解答,常规优异新数据差...

热门文章

  1. FFMPEG中的两输入Filter实现(一)
  2. 高炉煤气净化提质技术及发展趋势浅谈
  3. 10月25日 c语言 打印所有水仙花数
  4. 如何成为一名游戏开发程序员
  5. obj文件格式与.mtl文件格式
  6. 伯克利『全栈深度学习』2022最新课程;谷歌『基于Transformers的通用超参数优化』经验分享;动图编辑器;前沿论文 | ShowMeAI资讯日报
  7. OpenCV_车辆检测实战
  8. Windows服务简介(转)
  9. 【python】模拟淘宝的客服自动回复系统-socket,json,time模块的应用
  10. 【HTML5】调查问卷制作简约版