当前位置: 首页 > news >正文

matlab操作方法(二)——基本作图

matlab提供很多灵活的二维作图功能函数。这些作图函数分为3类:图形处理、曲线和曲面图的创建、注释和图形特性。作图函数虽多,但语法大致相同

在 MATLAB 中,figure 函数用于创建或选择图形窗口。

matlab figure函数的用法_matlab中figure-CSDN博客 

MATLAB中figure函数用法 - 知乎 (zhihu.com)

还有另外一个函数subplot()

subplot(m,n,p)

subplot该函数把几个独立生成的图形放在同一个图形窗口中,参数m和参数n分别表示把图形窗口分为行和列的子图数目,参数p指出图形放在第几个子图中。

1.颜色、线性和点型

基本二维作图命令为

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2...)

其中X1和Y1分别是某点或向量(一系列点)的x轴和y轴坐标

LineSpec是作图线型控制字符串:该字符串可用于确定画线/点的颜色以及画点的类型,还可用于定义线的宽度特征。

 

 

指定绘图中的线和标记的外观 - MATLAB & Simulink - MathWorks 中国 

2.多条曲线作图 

在matlab中至少有3种方式可以在同一张图中做出多条曲线,但是如果新的曲线数据落在原图的坐标区间以外,可能原图的坐标比例会进行重新调整。

(1)最简单的方式是采用

hold on

来保持图中的曲线,该语句保持当前窗口(或subplot子图)为激活状态,但必须使用一组兼容的图形创建函数,所有后续的曲线均会叠加在原图上,直到再次采用

hold off

将保持状态取消

(2)第二种方式是采用plot()函数的多参数作图方式

plot(x1,y1,x2,y2,x3,y3...)

做出矢量对(x1,y1),(x2,y2),(x3,y3)所表示的曲线 

(3)第三种方式是利用

plot(x,y)

其中x和y均为矩阵,或者一个是向量,一个是矩阵 

 (4)也可以采用plotyy()的函数形式在同一张图中作出两条曲线,并且这两条曲线的y轴分别位于图的左边和右边。

例如

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');
set(get(AX(1),'Ylabel'),'String','Slow Decay')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time(\musec)')
set(H1,'LineStyle','--')
set(H2,'LineStyle',':')

 

3.同一窗口中的多个图形绘制

matlab具有在同一图形窗口中绘制多个图形的功能,该功能可通过

subplot(m,n,p)

函数来实现。该函数把图形窗口分成m*n个绘图区,并把当前的作图选择在第p个绘图区,绘图区的次序是先从左到右,再从上到下。

 

4.曲线作图范围设置 

在matlab中作图时,会自动根据曲线数据调整作图区间的坐标轴范围设置。在某些情况下,如果需要对坐标轴显示范围进行设置,则可采取命令

axis([xmin ,xmax, ymin, ymax])

将坐标轴设置成自动调整的状态,可以使用如下的命令:

axis auto
5.对数坐标作图

函数 semilogy(x,y)用于对y轴数据进行log10的对数比例变化作图,但x轴仍使用线性比例坐标。

6.极坐标作图
polar(theta,r) 

 theta为角度值,r为幅度值进行极坐标作图

7.用fplot()和ezplot()对函数作图 

在前面所有的matlab作图示例中,x坐标对应点都是按照等间隔变化的。如果要作图的某些区域变化很快,此时利用plot函数画出的图形就有可能是错误的,而利用fplot()和ezplot()能够自动地对作图时x坐标的取点进行调整,所以做出的图接近实际情况

x=linspace(-4*pi,4*pi,100);
subplot(3,1,1)
plot(x,tan(x))
axis([-inf inf -10 10])
title('plot')
subplot(3,1,2)
fplot(@(x)tan(x),[-4*pi 4*pi])
axis([-inf inf -10 10])
title('fplot')
subplot(3,1,3)
ezplot(@(x)tan(x),[-4*pi 4*pi])
axis([-inf inf -10 10])
title('ezplot')

 

fplot()与ezplot()相比,主要差异在于间断点作图时的连线,fplot()会把作图的间断点连起来 

相关文章:

  • nginx配置反向代理及负载均衡
  • 迭代器 iterator
  • 连接器信号完整性仿真教程 九
  • Linux Spug自动化运维平台本地部署与公网远程访问
  • vector是如何扩容的
  • flutter 自定义TabBar 【top 0 级别】
  • Selector SelectionKey基础学习
  • 【Excel/Matlab】绘x-y图并求切线和截距(详细图解)
  • C# IList 与List区别二叉树的层序遍历
  • C语言实现ARM MCU SWD离线调试器
  • cesium 融合视频
  • [Ubuntu 18.04] RK3399搭建SSH服务实现远程访问
  • 六、ZooKeeper Java API操作
  • KaiwuDB 多模数据库-时序性能优化
  • 【Matlab】如何快速入门一项新技能-以Matlab/Simulink入门为例
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • css布局,左右固定中间自适应实现
  • Hibernate最全面试题
  • interface和setter,getter
  • MySQL-事务管理(基础)
  • mysql中InnoDB引擎中页的概念
  • node学习系列之简单文件上传
  • React-生命周期杂记
  • SQLServer之创建显式事务
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 分享一份非常强势的Android面试题
  • 汉诺塔算法
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端相关框架总和
  • 前端自动化解决方案
  • 全栈开发——Linux
  • 如何设计一个微型分布式架构?
  • 通过git安装npm私有模块
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 异步
  • 用jQuery怎么做到前后端分离
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 通过调用文摘列表API获取文摘
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #14vue3生成表单并跳转到外部地址的方式
  • #define,static,const,三种常量的区别
  • #预处理和函数的对比以及条件编译
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (接口封装)
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (算法)Game
  • .“空心村”成因分析及解决对策122344
  • .net core使用ef 6
  • .NET 动态调用WebService + WSE + UsernameToken