MATLAB系列笔记:二维绘图(一)

0x00 前言

文章中的文字可能存在语法错误以及标点错误,请谅解;

如果在文章中发现代码错误或其它问题请告知,感谢!

MATLAB版本:MATLAB R2018b。

0x01二维绘图

1.plot绘图命令

plot绘图命令是MATLAB中一个基本的绘图指令,在执行该命令时,MATLAB会自动创建一个新的图形窗口,若之前有打开的图形窗口,则MATLAB将图形绘制在最近打开的图形窗口之上,将原有的图形覆盖。plot命令有多种格式,可根据需要使用。
1)plot(x)
当x为实向量时,绘制以该向量元素的下标为横坐标,以该向量元素的值为纵坐标的一条连续曲线。
当x为实矩阵,按列绘制出每列元素相对其下标的曲线,曲线数等于x的列数。
当x为复数矩阵时,按列分别绘制出以元素实部为横坐标,以元素虚部为纵坐标的多条曲线。
2)polt(x,y)
当x、y是同维向量时,绘制以x为横坐标、y为纵坐标的曲线。
当x是向量y是有一维与x等维矩阵时,绘制出多根不同颜色的曲线,曲线数等于y阵的另一维数,x作为这些曲线的横坐标。
当x矩阵,y是向量时,同上,但以y为横坐标。
当x、y是同维矩阵时,以x对应的列元素为横坐标,以y对应的列元素为纵坐标分别绘制曲线,曲线数等于矩阵的列数。
例1:
绘制实验曲线。

>> x = [5 10 20 30 40 50 60 70 80 90 110];
>> y = [5 10 11 12 13 14 15 16 17 18 19];
>> plot(x,y)

在这里插入图片描述

例2:
随机矩阵图形,随机生成一个行向量a和实方阵b,用plot画图命令做出a、b图像。

>> a = rand(1,10);
>> b = rand(5,5);
>> subplot(1,2,1),plot(a)
>> subplot(1,2,2),plot(b)

在这里插入图片描述

例3:
某次物理实验,测得摩擦系数不同情况下路程与时间的数据如表所示,在同一图 中错出不同摩擦系数情况下路程随时间的变化曲线。

不同摩擦系数时路程和时间的关系:

时间/s路程1/m路程2/m路程3/m路程4/m
00000
0.2.580.310.180.08
0.4.830.560.360.19
0.61.140.890.620.30
0.81.561.230.780.36
1.02.081.520.990.49
>> x = 0:0.2:1;
>> y = [0 0 0 0;0.58 0.31 0.18 0.08;0.83 0.56 0.36 0.19;1.14 0.89 0.62 0.30;1.56 1.23 0.78 0.36;2.08 1.52 0.99 0.49];
>> plot(x,y)

在这里插入图片描述

3)plot(x1,y1,x2,y2,……)
该函数功能实绘制多条曲线,注意(xi,yi)必须成对出现 ,上面的命令等价于逐次执行plot(xi,yi)命令,其中i=1,2,……。

例4:

在同一图上绘制y = sinx、y = sin(x + π \pi π/4)、y = sin(x - π \pi π/4)图像。

>> x = linspace(0, 2*pi, 100);
>> y1 = sin(x);
>> y2 = sin(x + pi/4);
>> y3 = sin(x - pi/4);
>> plot(x, y1, x, y2, x, y3)

在这里插入图片描述

例5:
在同一图上绘制y = sinx、y = 5cos(x - π \pi π/4)图像。

>> x1 = linspace(0, 2*pi, 100);
>> x2 = x1 - pi/4;
>> y1 = sin(x1);
>> y2 = 5*cos(x2);
>> plot(x1, y1, x2, y2)

在这里插入图片描述

4)plot(x,y,s)
x、y为向量或矩阵,s为单引号标记的字符串,用来设置所画数据点的类型、大小、颜色以及数据点之间的连线类型、粗细、颜色等。若s省略,此时将由MATLAB系统默认设置,即一律采用“实线”线型。

颜色控制字符表:

字符色彩RGB值
b(bule)蓝色001
g(green)绿色010
r(red)红色100
c(cyan)青色011
m(magenta)品红101
y(yellow)黄色110
k(black)黑色000
w(white)白色111

线型符号说明:

线型符号符号含义线型说明符号含义
-实线(默认值):点线
-虚线-.点画线

例6:
任意描一些数据点,熟悉plot命令中参数的用法。

>> x = 0:pi/10:2*pi;
>> y1 = sin(x);
>> y2 = cos(x);
>> y3 = x;
>> y4 = x.^2;
>> hold on
>> plot(x,y1,'r*')
>> plot(x,y2,'kp')
>> plot(x,y3,'bd')
>> plot(x,y4,'g:')
>> hold off

在这里插入图片描述

说明:hold on命令用来使当前轴及图形保持不变,准备接受此后plot所绘制的新曲线。hold off 使当前轴及图形不再保持上述性质。

例7:
演示保持命令的应用。

>> N = 9;
>> t = 0:2*pi/N:2*pi;
>> x = sin(t);y = cos(t);
>> tt = reshape(t, 2, (N+1)/2);
>> tt = flipud(tt);
>> tt = tt(:);
>> xx = sin(tt);yy = cos(tt);
>> plot(x, y)
>> hold on
>> plot(xx ,y)
>> hold off
>> plot(xx, y)

在这里插入图片描述

在这里插入图片描述

5)plot(x1,y1,s1,x2,y2,s2,……)
这种格式有参数控制,运行此命令等价于依次执行plot(xi,yi,si),其中i=1,2,……。
例8:
在同一坐标系下 画出下面函数在[- π \pi π, π \pi π]上的绘图。
y1 = esinx ,y2 = ecosx ,y3 = e sinx+cosx ,y4 = esinx-cosx ,y5 = 0.2esinxcosx ,y6 = 0,2ecosx+sinx

>> x = -pi:pi/10:pi;
>> y1 = exp(sin(x));
>> y2 = exp(cos(x));
>> y3 = exp(sin(x)+cos(x));
>> y4 = exp(sin(x)-cos(x));
>> y5 = 0.2*exp(sin(x).*cos(x));
>> y6 = 0.2*exp(cos(x)./sin(x));
>> plot(x,y1,'b:',x,y2,'d-',x,y3,'m>:',x,y4,'rh-',x,y5,'gh-',x,y6,'bh-')

在这里插入图片描述

2.fplot绘图命令

fplot命令也是MATLAB提供的一个画图命令,用来指导数据点的选取,通过其内部自适应算法,在函数变化比较平稳处,它所取的数据点就会相对稀疏一点,在函数变化明显处所取的数据点旧会自动密一些。

fplot命令的调用格式:

调用格式说明
fplot(f,lim)在指定范围lim内画出一元函数f的图形
fplot(f,lim,s)用指定的线型s画出一元函数f的图形
fplot(f,lim,n)画一元函数f的图形时,至少描出n+1个点
fplot(funx,funy)在t的默认间隔[-5,5]上绘制由x=funx(t)和y=funy(t)定义的曲线
fplot(funx,funy,tinterval)在指定的时间间隔内绘制。将间隔指定为[tmin tmax形式的二元向量]
fplot(_,LineSpec)指定线条样式、标记符号和线条颜色
fplot(_Name,Value)使用一个或多个名称-值对参数指定行属性
fplot(ax,_)绘制到由x指定的轴中,而不是当前轴(GCA)。指定轴作为第一个输入参数
fplot( )根据输入返回函数行对象或参数化函数行对象
[X,Y] = fplot(f,lim,…)返回横坐标与纵坐标的值给变量X和Y

以上。

例9:
分别用fplot命令和plot命令作出函数y = sin(1/x),x ∈ \in [0.01,0.02]

>> x = linspace(0.01,0.02,50);
>> y = sin(1./x);
>> subplot(2,1,1),plot(x,y)
>> subplot(2,1,1),fplot(@(x)sin(1./x),[0.01,0.02])

在这里插入图片描述在这里插入图片描述

3.ezplot绘图命令

对于符号函数,MATLAB也提供了一个专门的绘图命令 ——ezplot命令。利用这个命令可以很容易的将一个符号函数图形化。

ezplot命令的主要调用格式:

调用格式说明
ezplot(f)绘制函数f(x)在默认区间 x ∈ \in [-2 π \pi π,2 π \pi π]上的图像,若f为隐函数f(x,y),则在默认区间x ∈ \in [-2 π \pi π,2 π \pi π],y ∈ \in [-2 π \pi π,2 π \pi π]上绘制f(x,y)= 0的图像
ezplot(f,[a,b])绘制函数f(x)在默认区间 x ∈ \in [a,b]上的图像,若f为隐函数f(x,y),则在默认区间x ∈ \in [a,b],y ∈ \in [a,b]上绘制f(x,y)= 0的图像
ezplot(f,[xa,xb,ya,yb])对于隐函数f(x,y),则在区间x ∈ \in [xa,xb],y ∈ \in [ya,yb]上绘制f(x,y)= 0的图像
ezplot(x,y)在默认区间t ∈ \in [0,2 π \pi π]上绘制x=x(t),y=y(t)的图像
ezplot(x,y,[a,b])在默认区间t ∈ \in [a,b]上绘制x=x(t),y=y(t)的图像
ezplot(…,figure)在指定的图形窗口中绘制函数图像

例10:
绘制隐函数f1=e2x,x ∈ \in [ π \pi π, π \pi π]图像。

>> syms x
>> f1 = exp(2*x)*sin(2*x);
>> subplot(2,2,1),ezplot(exp(2*x),[-pi,pi])
>> subplot(2,2,2),ezplot(sin(2*x))
>> subplot(2,2,3),ezplot(exp(2*x)+sin(2*x),[-pi,pi,0,2*pi])
>> subplot(2,2,4),ezplot(f1,[-4*pi,4*pi])

在这里插入图片描述

以上。

参考文档:
1.https://www.zybuluo.com/codeep/note/163962(Markdown 公式指导手册)
2.https://blog.csdn.net/katherine_hsr/article/details/79179622(数学符号和公式)
3.天工在线.中文版MATLAB2018从入门到精通(实战案例版)[M].北京:中国水利水电出版社,2018.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值