/ 写在前面 – 我热爱技术、热爱开源。我也相信开源能使技术变得更好、共享能使知识传播得更远。但是开源并不意味着某些商业机构/个人可以为了自身的利益而一味地索取,甚至直接剽窃大家曾为之辛勤付出的知识成果,所以本文未经允许,不得转载,谢谢。/
二维曲线
plot(x)
函数:x
是实向量的话,则以x
向量元素的下标为横坐标,元素的值为纵坐标绘制一条曲线。x
是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。
plot(x,y)
函数用于绘制平面上的线性坐标曲线:- 通常
x
和y
为长度相等的向量。 - 当
x
是向量,y
是矩阵时:- 如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
- 如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线的条数等于y的列数。
- 当
x
、y
是同型矩阵时:(我感觉这个比较偏了……)- 以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
- 通常
x=1:10;
y=x.^2;
cx=complex(x,y);% 等价于cx=x+y*i;
plot(cx);
x=linspace(0,2*pi,100);
y=[sin(x);sin(2*x);sin(0.5*x)];
plot(x,y);
当需要绘制不同长度的多条曲线时,则采用包含若干组向量对的格式来使用 plot
函数。其中,每一向量对构成一组数据的横、纵坐标,绘制一条曲线。n组向量对绘制n条曲线。
plot(x1, y1, x2, y2, ..., xn, yn)
含选项的 plot
函数
格式为:
plot(x, y, options)
选项 options
包括:
- 线型:
-
实线(默认)、:
虚线、-.
点画线、--
双画线 - 颜色:
r
红色、g
绿色、b
蓝色、w
白色、k
黑色、…… - 数据点标记:
*
星号、o
圆圈、s
方块、p
五角星、^
朝上三角符号、……
当颜色选项省略时,绘图时自动循环使用当前坐标轴的 ColorOrder
属性指定的颜色。
当数据点标记选项省略时,默认无数据点标记符号。
x=(0:pi/50:2*pi)';% 注意,这里要转置,否则第3行代码会报错!
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');
fplot
函数
MATLAB提供了 fplot
函数,该函数可根据参数函数的变化特性自适应地设置采样间隔:
- 当函数值变化缓慢时设置的采样间隔大;
- 当函数值变化剧烈时设置的采样间隔小。
fplot
函数的基本用法: fplot (f, lims, 选项)
。其中:
f
代表一个函数,通常采用函数句柄的形式。lims
为x轴的取值范围,用二元向量[xmin, xmax]
描述,默认值为[-5, 5]
。选项定义与plot
函数相同。
fplot(@(x) sin(1./x),[0,0.2],'b');
如果曲线以参数方程形式给出,则 fplot
函数采用这种调用格式: fplot(funx, funy, tlims, 选项)
。其中:
funx
、funy
代表函数,通常采用函数句柄的形式。tlims
为参数函数funx
和funy
的自变量的取值范围,用二元向量[tmin, tmax]
描述默认为[-5, 5]
。
已知螺旋线的方程:
绘制曲线:
fplot(@(t) t.*sin(t), @(t) t.*cos(t), [0, 10*pi], 'r');
绘制图形的辅助操作
其他形式的二维图形
给图形添加标注
title(图形标题)
:给图形添加标题xlabel(x轴说明)
:给x轴添加说明ylabel(y轴说明)
:给y轴添加说明text(x, y, 图形说明)
:用于在指定位置(x,y)
添加图形说明legend(图例1, 图例2, ...)
:用于添加图例
⚠️ 如果标题有多行,例如在坐标轴上方显示两行标题,作为标题的两个字符串要用一对大括号 {}
括起来,字符串之间用逗号 ,
分隔,应该是单元矩阵。
📖 图形标题除了普通字符以外,还可以用格式控制的符号。但是请注意,受控制的部分要用大括号括起来。中的控制符号 \bf
、 \it
、 \rm
分别定义粗体、斜体、正体三种样式。
调用 title
函数时,可以修改标题文字的某些属性,格式为: title(图形标题, 属性名, 属性值)
。注意,属性名与属性值成对出现。常用属性有:
Color
属性:设置标题文本的颜色,其取值与plot
函数的颜色选项相同。FontSize
属性:设置标题文字的字号,默认字号为11。
📖 xlabel
、 ylabel
、 text
函数也可以用格式控制的符号。
x=linspace(-2*pi,2*pi,100);
y=sin(x);
plot(x,y);
ylim([-5,5]);
xlabel('{-2\pi \leq x \leq 2\pi}');
text(3,0.28,'\leftarrow sin(x)');
title({'MATLAB','Plot of Sine Function'},'color','b','FontSize',18);
📖 我认为 gtext(说明)
函数比 text
函数要方便一点,它没有坐标参数,执行命令时十字光标跟随鼠标移动,单击鼠标即可将文本放置在十字光标处。