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 参数,用于图形外观属性的控制,包括线条的形状、颜色和点的形状、颜色。该参数的常用设置选项如下表所示。

相关推荐
Aurorar0rua3 小时前
C Primer Plus 11.12 复习题
c语言·开发语言
mit6.8243 小时前
[Sora] 从检查点恢复训练 | `Booster`接口 | EMA模型 | .safetensors
人工智能·算法·机器学习
MonkeyKing_sunyuhua3 小时前
什么是python中的一等函数和闭包
开发语言·python
jixunwulian3 小时前
5G+AIoT智赋,AI电力加密边缘网关智慧电网数字化运维解决方案
运维·人工智能·5g
从前慢,现在也慢3 小时前
(3)Bug篇
学习·bug·测试
CoovallyAIHub3 小时前
清华Mars Lab发布SLAM-Former:用一个Transformer统一SLAM的前端与后端(附项目地址)
深度学习·算法·计算机视觉
去往火星3 小时前
C++(Qt)软件调试---binutils工具集详解
开发语言·c++
suke3 小时前
RAG 已死,Agent 永生:理解 AI 检索的范式革命
人工智能·程序员·aigc
cooldream20093 小时前
大模型分类与应用全景解析:从文本到多模态的智能演进
人工智能·ai·大模型基础
寂静山林3 小时前
UVa 12803 Arithmetic Expressions
算法