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

相关推荐
AI创客岛3 分钟前
随着越来越多的AI机器人渗透社交平台,各个平台都在制定新规则以应对
人工智能
柠檬少少开发4 分钟前
图像拼接算法及实现(一)
人工智能·算法·计算机视觉
天蓝蓝235286 分钟前
自然语言处理(NLP)实战项目
人工智能·自然语言处理
DreamByte8 分钟前
Python Tkinter小程序
开发语言·python·小程序
Python极客之家10 分钟前
基于深度学习的眼部疾病检测识别系统
人工智能·python·深度学习·毕业设计·卷积神经网络
覆水难收呀17 分钟前
三、(JS)JS中常见的表单事件
开发语言·前端·javascript
阿华的代码王国21 分钟前
【JavaEE】多线程编程引入——认识Thread类
java·开发语言·数据结构·mysql·java-ee
繁依Fanyi27 分钟前
828 华为云征文|华为 Flexus 云服务器部署 RustDesk Server,打造自己的远程桌面服务器
运维·服务器·开发语言·人工智能·pytorch·华为·华为云
shuxianshrng29 分钟前
鹰眼降尘系统怎么样
大数据·服务器·人工智能·数码相机·物联网
优思学院34 分钟前
优思学院|如何从零开始自己学习六西格玛?
大数据·运维·服务器·学习·六西格玛黑带·cssbb