Day18_0.1基础学习MATLAB学习小技巧总结(18)——MATLAB绘图篇(1)

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

参考书目:《MATLAB基础教程 (第三版) (薛山)》

之前的章节都是基础的数据运算用法,对于功课来说更加重要的内容是建模、绘图、观察数据趋势,接下来我会结合自己的使用经验,来为大家分享绘图、建模使用的小技巧。

二维图形绘制

在本章开始前首先假定一组二维数组:

|---|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
| x | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| y | 1.2 | 1.8 | 1.6 | 1.5 | 1.7 | 1.5 | 1.2 | 8.0 | 5.0 | 9.0 |

MATLAB的绘图需要数据作为支撑,可以将数据以EXECL表格的形式导入到MATLAB中,也可以在MATLAB中新建数据mat,需要用时直接引用即可。

绘制二维图形的主要函数为plot,以下是一些经常需要用到的绘图函数:

|----------|------------------------|
| 函数名 | 功能 |
| plot | 在线性坐标系中绘制二维图形 |
| loglog | 在对数坐标系中绘制二维图形 |
| semilogx | 二维图形绘制。x轴为对数坐标,y轴为线性坐标 |
| semilogy | 二维图形绘制,x轴为线性坐标,y为对数坐标 |
| plotyy | 绘制双y轴图形 |

这是MTALAB官网中关于线图函数的表格,供参考

以上的函数皆是绘制二维图形的,将坐标系对应后,对号入座的应用,应用方式都是一样的,不多加赘述,这里以用的最多的plot函数展开介绍。

plot函数:

|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|---|
| plot(x,y) | 创建Y中数据对 x中对应值的二维线图。 注意: 1、要绘制由线段连接的一组坐标,请将x和Y指定为相同长度的向量。 2、要在同一组坐标区上绘制多组坐标,请将x或Y中的至少一个指定为矩阵。 | |
| plot(x,y,Linespecn) | 使用指定的线型、标记和颜色创建绘图。 | |
| plot(X1,Y1,....,Xn,Yn) | 在同一组坐标轴上绘制多对x和y坐标。此语法可替代将坐标指定为矩阵的形式. | |
| plot(X1,Y1,Linespec1,....,Xn,Yn,Linespecn) | 可为每个 x-y对组指定特定的线型、标记和颜色。您可以对某些 x-y 对组指定Linespec,而对其他对组省略它。例如,plot(X1,Y1,"o",X2,Y2)对第一个 x-y 对组指定标记,但没有对第二个对组指定标记。 | |
| plot(Y) | 绘制Y对一组隐式x坐标的图。 注意: 1、如果Y是向量,则x坐标范围从1到1ength(Y)。 2、如果Y是矩阵,则对于y中的每个列,图中包含一个对应的行。x坐标的范围是从1到Y的行数。 3、如果Y包含复数MATLAB绘制Y的虚部对Y的实部的图。如果同时指定了x和Y,虚部将被忽略。 | |
| plot(Y,Linespec) | 使用隐式x坐标绘制 Y,并指定线型、标记和颜色。 | |

1 plot(Y)

该命令中的Y可以是向量、实数矩阵或复数向量。如果是向量,就以向量的索引为横坐标,以向量元素值为纵坐标绘制图形,以直线段顺序连接各点:如果是矩阵,就绘制Y的各列:如果丫是复向量,就以复数的实部为横坐标,以虚部为纵坐标绘制图形,即plot(y)相当于 plot(real(y),imag(y)),而在其他的绘图格式中复数的虚部会被忽略。

例:

Matlab 复制代码
x = randi(100,1,20)
y = 1/sqrt(2*pi)*exp(-1/2*x.^2);
plot(y)

2 plot(x,y)

该命令中的x和y可以为向量和矩阵,当x和y的结构不同时,有不同的绘制方式。x、y均为n维向量时,以x的元素为横坐标,以y的元素为纵坐标绘制图形。x为n维向量,y为mxn或nxm矩阵时,以x的元素为横坐标,绘制y的m个n维向量。x、y均为 m x n 矩阵时,以x的各列为横坐标,以y的对应列为纵坐标绘制图形.

Matlab 复制代码
x = [1,2,3,4,5,6,7,8,9,10];
y = [1.2,1.8,1.6,1.5,1.7,1.5,1.2,8.0,5.0,9.0];
plot(x,y)
plot(x,y,'LineStyle','-','Color','r')

3 plot(x,y,Linespec)

该命令中加入了 LineSpec 参数,用于图形外观属性的控制,包括线条的形状、颜色和点的形状、颜色。该参数的常用设置选项如下表所示。

相关推荐
wangqiaowq2 小时前
Ontology 学习 二
学习
段一凡-华北理工大学7 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
该学习了咕咕8 小时前
顶刊论文学习笔记
学习
岁月宁静9 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
岁月宁静9 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个9 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
Linux-lucky10 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
li星野10 小时前
【学习记录】k-Wave 时间步长、CFL 稳定性与参数实验全解析
学习
老金带你玩AI10 小时前
全球股市跌麻了:AI在进化,牛马在买单
人工智能
Dream it possible!11 小时前
LeetCode 面试经典 150_多维动态规划_交错字符串(97_C++_中等)
算法·leetcode·面试·动态规划