Matlab绘图
本文根据慕课科学计算与MATLAB语言课程第四章整理总结如下笔记。
慕课:https://www.icourse163.org/learn/CSU-1002475002?tid=1206743216#/learn/content?type=detail&id=1211570821&cid=1214317879
内容框图如下:
4.1 二维曲线
4.1.1 plot函数
(1) plot函数的基本用法
plot(x,y)
其中,x和y分别用于存储x坐标和y坐标数据,通常为长度相等的向量。
例1 绘制一条折线
x=[2.5, 3.5, 4, 5];
y=[1.5, 2.0, 1, 1.5];
plot(x, y)
(2) 最简单的plot函数调用格式
plot(x)
x=[2.5, 3.5, 4, 5];
plot(x)
当plot函数的参数x是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。
x=[2.5, 3.5, 4, 5];
y=[1.5, 2.0, 1, 1.5];
cx = x + y*i;
% cx = complex(x,y);
plot(cx)
(3) plot(x,y)函数参数的变化形式
情形一:当x是向量,y是矩阵时
1)如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
2)如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线条数等于y的列数。
例2 绘制sin(x)、sin(2x)、sin(x/2)的函数曲线。
x=linspace(0,2*pi,100);
y=[sin(x); sin(2*x); sin(0.5*x)];
plot(x,y)
情形二:当x、y是同型矩阵时
以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
t=0:0.01:2*pi;
t1=t';
x=[t1, t1, t1];
y=[sin(t1), sin(2*t1), sin(0.5*t1)];
plot(x,y)
(4)含多个输入参数的plot函数
plot(x1,y1,x2,y2,…,xn,yn)
其中,每一向量对构成一组数据点的横、纵坐标,绘制一条曲线。
例3 采用不同个数的数据点绘制正弦函数曲线,观察曲线形态。
t1=linspace(0, 2*pi, 10);
t2=linspace(0, 2*pi, 20);
t3=linspace(0, 2*pi, 100);
plot(t1, sin(t1), t2,sin(t2)+1, t3, sin(t3)+2)
这种多输入参数的方式,在实际中较为常用。
(5)含选项的plot函数
plot(x,y,选项)
例4 用不同线型和颜色在同一坐标内绘制曲线及其包络线。
x=(0:pi/50:2*pi)';
y1=2*exp(-0.5*x)*[1,-1];
y2=2*exp(-0.5*x).*sin(2*pi*x);
x1=0:0.5:6;
y3=2*exp(-0.5*x1).*sin(2*pi*x1);
plot(x, y1, 'k:', x, y2, 'b--', x1, y3, 'rp')
当函数值随着x的变化情况发生剧烈变化时,如例5所示。
例5 绘制函数sin(1/)的图形。
x=0:0.005:0.2;
y=sin(1./x);
plot(x,y)
在x的某些区间,其采样率就不足以反映函数的变化趋势了。这样就需要用到fplot函数。
4.1.2 fplot函数
(1)fplot函数的基本用法
fplot(f,lims,选项)
其中,f代表一个函数,通常采用函数句柄的形式。lims为x轴的取值范围,用二元向量{xmin, xmax}描述,默认值为[-5, 5]。选项定义与plot函数相同。
例6 采用fplot函数绘制函数sin(1/x)。
fplot(@(x) sin(1./x),[0,0.2], 'b')
(2)双输入函数参数的用法
fplot(funx, funy, tlims, 选项)
其中,funx,funy代表函数,通常采用函数句柄的形式。tlims为参数函数funx和funy的自变量的取值范围,用二元向量{tmin, tmax} 描述。
fplot(@(t)t.*sin(t), @(t)t.*cos(t), [0,10*pi], 'r')
4.1.3 函数句柄
可以参考:
https://blog.csdn.net/lqzdreamer/article/details/70237495?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158791281319724835807944%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.57644%2522%257D&request_id=158791281319724835807944&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-1
https://blog.csdn.net/edward_zcl/article/details/90231453?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158791281319724835807987%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=158791281319724835807987&biz_id=0&utm_source=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-2
4.2 绘制图形的辅助操作
4.2.1 图形标注
title函数
title 函数的基本用法
title(图形标题)
例1 绘制[-2π,2π]区间的正弦曲线并给图形添加标题。
x=-2*pi:0.05:2*pi;
y=sin(x);
plot(x,y)
title('y=sin(x)')
title({
'MATLAB', 'y=sin(x)'})
在图形标题中用LaTex格式控制符
title(‘y=cos{\omega}t’) y = c o s ω t y=cos{\omega}t y=cosωt
title(‘y=e^{axt}’)
y = e a x t y=e^{axt} y=eaxt
title(‘X_{1}{\geq}X_{2}’)
X 1 ≥ X 2 X_{1}{\geq}X_{2} X1≥X2
title)(’{\bf y=cos{\omega}t+{\beta}}’)
y = c o s ω t + β {\bf y=cos{\omega}t+{\beta}} y=cosωt+β
“\bf” :加粗
“\it”:斜体
“\rm”:正体
含属性设置的title函数
title(图形标题,属性名,属性值)
Color属性:用于设置图形标题文本的颜色。
title(‘y=cos{\omega}t’, ‘Color’, ‘r’)
FontSize属性:用于设置标题文字的字号,默认为11。
title(‘y=cos{\omega}t’, ‘FontSize’, 24)
(2)xlable函数和ylable函数
xlable(x轴说明)
ylable(y轴说明)
x=-2*pi:0.05:2*pi;
y=sin(x);
plot(x,y)
title('y=sin(x)')
xlabel('-2\pi \leq x \leq 2\pi')
leq:less than or equal to
(3)text函数和gtext函数
text(x,y,说明)
gtext(说明)
% 在前面的图形中添加文字说明。
text(-2*pi, 0, '-2{\pi}')
text