Matlab——二维绘图(最为详细,附上相关实例)

2023-11-03

为了帮助各位同学备战数学建模和学习Matlab的使用,今天我们来聊一聊 Matlab 中的绘图技巧吧!对于 Matlab 这样的科学计算软件来说,绘图是非常重要的一项功能。在数据处理和分析时,良好的绘图技巧能够更直观地呈现数据,增强数据可读性和可视性


目录

一.二维数据曲线图 

1.二维曲线 

1.1  绘制单根二维曲线 

1.2  绘制多根二维曲线

 2.具有两个纵坐标标度的图形plotyy

3.图形保持 hold on/off

 4.  设置曲线样式

5.2  图形标注与坐标控制 

图形标注 

坐标控制 

6.  图形窗口的分割

 二.其他二维曲线图

 1.极坐标图

2 . 二维统计分析图 

3.散点图


一.二维数据曲线图 

1.二维曲线 

1.1  绘制单根二维曲线 

plot函数的基本调用格式为: plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据 

eg:在0≤x≤2π区间内,绘制曲线 :y=xcos(x) 

x=0:0.05:2*pi;
y=cos(x);
plot(x,y);

 结果便是如此

plot函数最简单的调用格式是只包含一个输入参数: plot(x)

在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图

1.2  绘制多根二维曲线

  • plot函数的输入参数是矩阵形式  

(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。  

(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数 

(3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数

  • 含多个输入参数的plot函数 调用格式为: plot(x1,y1,x2,y2,…,xn,yn)

(1) 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。

(2) 当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数

x=0:0.05:2*pi;
y=cos(x);
yy=sin(x);
plot(x,y,x,yy);

                                      


 2.具有两个纵坐标标度的图形plotyy

在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。调用格式为: plotyy(x1,y1,x2,y2)

其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐标用于x2,y2数据对 

x=0:0.05:2*pi;
y=cos(x);
yy=x;
plotyy(x,y,x,yy);

  

3.图形保持 hold on/off

hold on/off命令控制是保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换 

x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y1)
hold on
y2=2*exp(-0.5*x).*cos(pi*x);
plot(x,y2);

 

 

 4.  设置曲线样式

 MATLAB提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。例如,“b-.”表示蓝色点划线,“y:d”表示黄色虚线并用菱形符标记数据点。当选项省略时,MATLAB规定,线型一律用实线,颜色将根据曲线的先后顺序依次。

要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:

plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)

x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x);
plot(x,y1,'b-.')
hold on
y2=2*exp(-0.5*x).*cos(pi*x);
plot(x,y2,'bp');

 

5.2  图形标注与坐标控制 

图形标注 

有关图形标注函数的调用格式为:

  • title(图形名称)
  • xlabel(x轴说明)
  • ylabel(y轴说明)
  • text(x,y,图形说明)
  • legend(图例1,图例2,…) 

坐标控制 

axis函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax])

axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度。

axis square:产生正方形坐标系(缺省为矩形)。

axis auto:使用缺省设置。

axis off:取消坐标轴。

axis on:显示坐标轴 

  • 给坐标加网格线用grid命令来控制grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
  • 给坐标加边框用box命令来控制。box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换 

6.  图形窗口的分割

subplot函数的调用格式为: subplot(m,n,p)

该函数将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。在每一个绘图区允许以不同的坐标系单独绘制图形 

x1=0:0.05:100;
x2=linspace(0,2*pi,10);
y1=sin(x1);
y2=sin(x2);
subplot(1,2,1); plot(x1,y1); colormap hsv; title('the first');
 subplot(1,2,2); plot(x2,y2); title('the second');


 二.其他二维曲线图

 1.极坐标图

polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项)

其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似 

 eg:绘制r=sin(t)cos(t)的极坐标图,并标记数据点

x=0:pi/100:2*pi;
y=sin(x).*cos(x);
polar(x,y,'-*');

 

2 . 二维统计分析图 

在MATLAB中,二维统计分析图形很多,常见的有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:

bar(x,y,选项)

stairs(x,y,选项)

stem(x,y,选项)

fill(x1,y1,选项1,x2,y2,选项2,…)  

 

x=0:pi/10:2*pi;
y=2*sin(x);
subplot(2,2,1);bar(x,y,'g');
title('bar(x,y,''g'')');axis([0,7,-2,2]);
subplot(2,2,2);stairs(x,y,'b');
title('stairs(x,y,''b'')');axis([0,7,-2,2]);
subplot(2,2,3);stem(x,y,'k');
title('stem(x,y,''k'')');axis([0,7,-2,2]);
subplot(2,2,4);fill(x,y,'y');
title('fill(x,y,''y'')');axis([0,7,-2,2]);

 

3.散点图

scatter(x,y)

 此 MATLAB 函数 在向量 x 和 y 指定的位置创建一个包含圆形的散点图。该类型的图形也称为气泡图

X=randn(1000,1);
Y=randn(1000,1);
scatter(X,Y);
xlabel('x');
ylabel('y');

 


绘图不仅仅是简单地将数据呈现出来,更重要的是通过图形的展示和分析,帮助我们发现数据中的规律、趋势和关系。这对于我们做出准确的决策和推断具有重要意义。

近日我会尽快写出三维绘图的文章,希望大家多多支持,很高兴能帮助到大家!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab——二维绘图(最为详细,附上相关实例) 的相关文章

  • 将 3d 矩阵重塑为 2d 矩阵

    我有一个 3d 矩阵 n by m by t 在 MATLAB 中表示n by m一段时间内网格中的测量值 我想要一个二维矩阵 其中空间信息消失了 只有n m随着时间的推移测量t剩下 即 n m by t 我怎样才能做到这一点 你需要命令r
  • opencv中矩阵的超快中值(与matlab一样快)

    我正在 openCV 中编写一些代码 想要找到一个非常大的矩阵数组 单通道灰度 浮点数 的中值 我尝试了几种方法 例如对数组进行排序 使用 std sort 和选择中间条目 但与 matlab 中的中值函数相比 它非常慢 准确地说 在 ma
  • 将组合字符串和数字输入的元胞数组写入文本文件

    考虑以下 DateTime 2007 01 01 00 00 2007 02 01 00 00 2007 03 01 00 00 Headers Datetime Data Dat 100 200 300 Data DateTime num
  • 如何以编程方式指定 MATLAB 编辑器键绑定

    我想将键盘键绑定设置为Windows 默认设置我想在启动时使用startup m因为我希望在大量系统上设置此设置 首选项对话框中的等效设置是 MATLAB gt Keyboard gt Shortcuts gt Active Setting
  • 类方法的自定义代码完成?

    在 MATLAB 中 可以定义代码建议和完成 如标题为 的文档页面中所述 自定义代码建议和完成 https www mathworks com help matlab matlab prog customize code suggestio
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • 如何从绘图处理程序中绘图?

    我有绘图的处理程序或图形的处理程序 例子 h plot 1 0 2 10 xx get h xx DisplayName Annotation 1x1 handle Color 0 0 1 LineStyle LineWidth 0 500
  • MATLAB 图中轴标签与轴之间的距离

    我正在使用 MATLAB 绘制一些数据 我想调整轴标签与轴本身之间的距离 但是 只需向标签的 位置 属性添加一点即可使标签移出图窗窗口 是否有 保证金 属性或类似的东西 在上图中 我想增加数字和标签 Time s 之间的距离 同时自动扩展数
  • 频域和空间域的汉明滤波器

    我想通过在 MATLAB 中应用汉明滤波器来消除一维信号中的吉布斯伪影 我所拥有的是k1这是频域中的信号 我可以通过应用 DFT 来获取时域信号k1 s1 ifft ifftshift k1 该信号具有吉布斯伪影 现在 我想通过 A 乘以汉
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 为什么 MATLAB 本机函数 cov(协方差矩阵计算)使用与我预期不同的除数?

    给定一个 M 维和 N 个样本的数据矩阵数据 例如 data randn N M 我可以计算协方差矩阵 data mu data ones N 1 mean data cov matrix data mu data mu N 如果我使用原生
  • 为什么 MATLAB 在打印大量 (.png) 图形时速度会变慢?

    我正在将大量数字打印为 png 文件 每个图都是数据矩阵中的一列图 我获取 png 文件并将它们串在一起形成动画 我的问题是 前几百张图像打印得很快 但创建每个新图形的时间却迅速增加 从前几百个 png 文件的约 0 2 秒到第 800 个
  • 非模态 questdlg.m 提示

    我的代码绘制了一个图 然后提示用户是否想使用不同的参数绘制另一个图 问题是 当 questdlg m 打开时 用户无法查看绘图的详细信息 这是代码 while strcmp Cont Yes 1 Some code modifying da
  • 为什么 mex 文件中的 OpenMP 仅产生 1 个线程?

    我是 OpenMP 新手 我有以下代码 使用配置了 MSVS2010 的 Matlab mex 可以正常编译 计算机有 8 个可用处理器 我也使用 matlabpool 检查过 include mex h include
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 在 matlab 代码中使用 dll 文件

    我需要使用 Matlab 中由 dll 文件定义的函数 我有一个例子 那个家伙将 dll 转换为 mexw32 文件 但我知道我是如何做到这一点的 我尝试使用加载库但它没有创建任何文件 我怎样才能做到这一点 loadlibrary http
  • Matlab 一个图上有多个图例 2014b

    我想在一个地块上有多个传说 该解决方案在 2014b 版本之前完美运行 我试图弄清楚如何使用手柄优雅地制作它 但到目前为止还没有成功 欢迎任何想法 2013b 的示例 x 1 50 y1 sin x 2 y2 cos x 2 f figur
  • 我如何编写一个名为 dedbi 的 MATLAB 函数,它将输入 xtx 作为字符串并返回另一个字符串 xtxx 作为输出。

    dedbi 反转单词 即 a 将被 z 替换 b 将被 y 替换 c 将被 x 替换 依此类推 dedbi 将对大写字母执行相同的操作 即将字符串 A 替换为 Z 将 B 替换为 Y 将 C 替换为 X 依此类推 如果我给函数这个字符串 a
  • MATLAB 编译器与 MATLAB 编码器

    两者有什么区别 据我了解 MATLAB Compiler将MATLAB代码包装成 exe文件 这样就可以在不安装MATLAB的情况下使用它 并且只需要MCR 除此之外 MATLAB Builder NE 还可以用于生成与 Net 框架一起使
  • FMINCON 的替代方案

    除了 fmincon 之外还有其他更快 更高效的求解器吗 我正在使用 fmincon 来解决特定问题 但对于中等大小的向量变量来说 我的内存不足 我也没有任何超级计算机或云计算选项可供使用 我知道任何替代解决方案仍然会耗尽内存 但我只是想看

随机推荐

  • Hadoop集群搭建记录

    本文目录 写在前面 step1 安装openssh server step2 ssh文件夹的创建及生成密钥文件 step3 传送该文件 step4 slave1 slave2节点操作 step5 所有节点最终配置 免密登录成功 写在前面 本
  • 原来早就有java代码规范

    happy 最近几天 研究代码规范 想给给公司制定一个代码规范 公司很小 目前还没有代码规范 这个东西很烦人 也很难产生作用 小公司一般不采用吧 但现在为了提高代码质量 也就需要考虑了 今天 发现早在1997年 SUN公司就制定了java代
  • logit回归模型_混合logit模型(随机参数模型)的STATA应用及结果解读

    选择实验获得的数据主要通过离散选择模型来完成 离散选择模型中 最主要的是logit模型 之前已经介绍了二项logit模型回归的STATA实现 有修改 多项logit模型详解 多项logit模型回归系数解读 多项logit模型回归的检验 继续
  • spring boot AOP练习 @Aspect

    spring boot AOP练习 Aspect 环境
  • 【测评】用这款神器2小时就撸完了1天工作量的代码!爽

    目 录 一 写在前面 二 测评信息 三 测评体验 3 1 安装方便 3 2 始于颜值 3 2 1 简约美观的主题 3 2 2 多变时尚的风格 3 3 忠于强大 3 3 1 快捷的搜索 3 3 2 丰富的功能 3 3 3 开发者神器 3 4
  • [LeetCode] 811. 子域名访问计数

    题目描述 一个网站域名 如 discuss leetcode com 包含了多个子域名 作为顶级域名 常用的有 com 下一级则有 leetcode com 最低的一级为 discuss leetcode com 当我们访问域名 discu
  • python android 录制屏幕

    def settingtime while True starttime time strftime H M S recordcmd adb shell screenrecord sdcard demo mp4 pullfile adb p
  • 开发者的时代红利在哪里?

    2021 年和 2022 年 也许给很多人上了一场关于 风险意识教育 的课程 无论你是 最难 毕业季中的应届毕业生 还是在职场中苦寻事业道路的各行从业者 这一课众生平等 在疫情影响之下 经济大环境动荡 要想在市场下行的背景下全身而退 就需要
  • c++拷贝构造函数(深拷贝,浅拷贝)详解

    一 什么是拷贝构造函数 首先对于普通类型的对象来说 它们之间的复制是很简单的 例如 int a 100 int b a 而类对象与普通对象不同 类对象内部结构一般较为复杂 存在各种成员变量 下面看一个类对象拷贝的简单例子 include
  • 引入wangeditor 报错 error in ./node_modules/@wangeditor/editor/dist/index.esm.js

    ERROR Failed to compile with 1 errors 17 53 12 error in node modules wangeditor editor dist index esm js Module parse fa
  • Mac升级之后已破解的intellij idea无法启动

    打开终端 进入 gt gt gt Users ethan Library Application Support JetBrains IntelliJIdea 对应版本 gt gt gt vim idea vmoptions 删除之前配置的
  • Struts2反序列化漏洞复现

    环境 vulhub 环境搭建 进入s2 048目录 切换root用户 启动漏洞环境 docker compose up d 漏洞复现 浏览器访问 showcase Gangster Name输入 233 233 其余随便填 将Gangste
  • Linux服务器遭受黑客攻击时的日志分析排除

    0x00 前言 Linux系统拥有非常灵活和强大的日志功能 可以保存几乎所有的操作记录 并可以从中检索出我们需要的信息 本文简介一下Linux系统日志及日志分析技巧 0x01 日志简介 日志默认存放位置 var log 查看日志配置情况 m
  • Postman 如何进行参数化

    前言 Postman作为一款接口测试工具 受到了非常多的开发工程师的拥护 那么做为测试 了解Postman这款工具就成了必要的了 这篇文章就是为了解决Postman怎么进行参数化的 全局变量 全局变量是将这个变量设置成整个程序的都可以用 不
  • SSH客户端工具——PuTTY(1)

    引言 本文介绍了SSH客户端工具PuTTY的下载和在Windows下的安装方法 怎么使用PuTTYgen生成SSH密钥对 以及如何通过PuTTY远程登录SSH服务器 一 安装PuTTY PuTTY是在Windows平台下常用的SSH客户端工
  • 羊年计划

    今天是新年上班第一天 告诉自己 要有个计划 要改变 要成就 要突破 要加油 那么到底要如何呢 新年里要做哪些事呢 订婚 婚姻大事 要包容 要相亲相爱 今年我要带着宝贝儿走出去 到处玩 我要带着宝宝坐下来 为梦想奋斗 减肥 健康的身体是革命的
  • 【测试开发】自动化测试在美团外卖的实践与落地

    文章目录 自动化测试在美团外卖的实践与落地 1 项目背景 2 项目目标 3 方案选型 4 实践和探索 4 1 问题和挑战 4 2 前置条件准备 4 3 用例录制与回放的数据一致性 4 4 用例录制与回放的操作一致性 4 5 可溯源的自动化测
  • 你假笨JVM参数 - 001 ReservedCodeCacheSize

    你假笨JVM参数分享全整理 微信小程序 JVMPocket JVM参数交流平台 Javaer的神奇口袋 序号 001 时间 2017 07 13 参数 XX ReservedCodeCacheSize 含义 Reserved code ca
  • C++程序设计初步——关系运算和逻辑运算

    C 中有众多的操作符来对其C 的程序内容进行运算 有 3 6 关系运算和逻辑运算 C 中若要比较数据时可以使用关系运算符 同样在进行逻辑层面的运算时 用逻辑运算符将逻辑量进行连接 3 6 1 关系运算和关系表达式 C 的关系运算符 lt 小
  • Matlab——二维绘图(最为详细,附上相关实例)

    为了帮助各位同学备战数学建模和学习Matlab的使用 今天我们来聊一聊 Matlab 中的绘图技巧吧 对于 Matlab 这样的科学计算软件来说 绘图是非常重要的一项功能 在数据处理和分析时 良好的绘图技巧能够更直观地呈现数据 增强数据可读