MATLAB二维绘图
MATLAB二维绘图
目录
绘图基本函数—plot函数
1.plot参数为基本参数
plot函数基本调用方式
plot(x,y)
x和y为长度相同的向量,分别用于存储横坐标和纵坐标。
x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y) %这里x,y为步长为π/100,从0到2π,长为201列的向量。 他们的列数相同,行数只有一条,因此以x作为横坐标,y对应元素作为纵坐标, 然后绘制一条曲线。
输出结果
plot函数其他调用方式
(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。
x=linspace(0,2*pi,100); y=[sin(x);cos(x)]; plot(x,y) %x为长度100列向量,y为2行100列的矩阵,他们列数相等,因此用y的另一维作为 条数,就是用行数作为条数,此处就有2条曲线。然后就是x的第一行第一列 元素,对y的第一行第一列元素,依次类推出第一条曲线。
输出结果为
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
t=linspace(0,2*pi,100); x=[t;t]'; y=[sin(t);cos(t)]'; plot(x,y) %次数t为有100个元素的行向量,x,y为100行2列的矩阵。以为维数相同,列数为 2列,因此有两条曲线。x的第一列作元素作为横坐标,对应y的第一列元素,作为 纵坐标。
输出结果
(3)plot函数最简单的调用格式是只包含一个输入参数:
plot(x)
①当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。
当x是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。
%一个单位圆 t=0:0.1:2*pi; x=exp(i*t); %cos(t)+i*sin(t) plot(x) axis equal; %这里t为长为63的行向量,x为长63个成员,成员为复数的行向量,则以每个向量 的实部作为横坐标,虚部作为纵坐标,绘制一个圆。
输出结果
②当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
%三个同心圆 t=0:0.01:2*pi; x=exp(i*t); y=[x;2*x;3*x]'; plot(y) axis equal; %此处t为步长0.01,从0到2π的行向量。x为长639列的行向量,y是3行639列矩阵 的转置矩阵,为639行3列。因此有3条曲线,每条曲线以每列元素的实部作为横 坐标,虚部作为纵坐标,绘制出3条曲线。
③当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。
2. 含多个输入参数的plot函数
调用格式为:
plot(x1,y1,x2,y2,…,xn,yn)
① 当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。
例如
x=linspace(0,2*pi,100); plot(x,sin(x),x,2*sin(x),x,3*sin(x)) %此处为x与sin(x)匹配,x作为横坐标,sin(x)作为纵坐标,后面两条曲线的参数选取同理。
②当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
x=linspace(0,2*pi,100); y1=sin(x); y2=2*sin(x); y3=3*sin(x); x=[x;x;x]'; y=[y1;y2;y3]'; plot(x,y,x,cos(x))
注:此处x先是长为100的行向量,之后为转置矩阵,为100行3列,不过3列的内容都相同。y也为100行3列。plot打印出来时,是先有x矩阵的每一列元素,作为每条曲线的横坐标。然后y的每一列元素作为曲线的纵坐标,由于纵坐标不同,所有看到三条曲线。同理,第二组匹配,但是第二组的三条曲线由于横纵坐标相同,因此是重合在一次,只看到一条。
3. 含选项的plot函数
绘图选项用于确定所绘曲线的线型、颜色和数据点标记符号,它们可以组合使用。
当选项省略时,线型一律用实线,颜色将根据曲线的先后顺序依次按下表给出的前7种颜色。
要设置曲线样式可以在plot函数中加绘图选项,调用格式:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
表 符号选项及其含义
线型符号 | 含义 | 颜色符号 | 含义 | 标记符号 | 含义 |
---|---|---|---|---|---|
- | 实线 | b | 蓝色 | . | 点 |
: | 虚线 | g | 绿色 | o | 圆圈 |
-. | 点划线 | r | 红色 | x | 叉号 |
– | 双划线 | c | 青色 | + | 加号 |
m | 品红色 | * | 星号 | ||
y | 黄色 | s | 方块符 | ||
k | 黑色 | d | 菱形符 | ||
w | 白色 | v | 朝下三角符号 | ||
^ | 朝上三角符号 | ||||
< | 朝左三角符号 | ||||
> | 朝右三角符号 | ||||
p | 五角星符 | ||||
h | 六角星符 |
注:可由help plot查询
例如
x=linspace(0,2*pi,100); y1=sin(x); y2=2*sin(x); y3=3*sin(x); x=[x;x;x]'; y=[y1;y2;y3]'; plot(x,y,'r-',x,cos(x),'m--')
输出结果为
4. 双纵坐标函数plotyy
绘制出具有不同纵坐标标度的两个图形的函数调用格式为:
plotyy(x1,y1,x2,y2)
x1,y1对应一条曲线,x2,y2对应另一条曲线。
左纵坐标轴用于x1,y1数据对,右纵坐标轴用于x2,y2数据对。
例如
x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); plotyy(x1,y1,x2,y2);
输出结果为
可以看出左右链表的纵坐标轴不同,表示的两条曲线的数值也不同。
5.图形窗口的切割
subplot函数的调用格式为:
subplot(m,n,p)
将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。
在每一个绘图区允许以不同的坐标系单独绘制图形(子图)。
x1=0:pi/100:2*pi; x2=0:pi/100:3*pi; y1=exp(-0.5*x1).*sin(2*pi*x1); y2=1.5*exp(-0.1*x2).*sin(x2); subplot(2,2,2); plotyy(x1,y1,x2,y2); %此处是将图形窗口分为四份,从左上开始按行数,第二块为活动绘图区。
输出结果
- **MATLAB** MATLAB二维底层绘图的修饰
- MatLab建模学习笔记1——二维绘图
- 使用MATLAB进行二维绘图
- Matlab入门教程-二维绘图[z]
- Matlab二维曲线绘图
- Matlab绘图-详细,全面(二维&三维等)
- MATLAB绘图之二维曲线
- matlab 生成二维或三维空间中满足正态分布的样本点,并绘图
- 介绍MATLAB 的两种基本绘图功能:二维平面图形和三维立体图形
- [Matlab]基础教程学习笔记(四):二维高层绘图操作
- MATLAB 的绘图:二维和三维
- MATLAB二维平面绘图
- Matlab风格的二维绘图函数Plot(OpenCV)
- Matlab编程之二维绘图
- matlab二维绘图--plot函数
- matlab二维绘图plot颜色、线型、点型控制字符
- MatLab建模学习笔记1——二维绘图
- Matlab 常用绘图指令(二维图形)
- [Matlab]基础教程学习笔记(五):二维底层绘图修饰
- Matlab教程2_ 绘图 _ 二维