2020-11-19 MATLAB学习小结(十七)

二维曲线

plot函数

(1)plot函数的基本用法:
plot(x, y)
其中,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)
2020-11-19 MATLAB学习小结(十七)
(2)最简单的plot函数调用格式
plot(x)
x=[1.5, 2, 1, 1.5];
plot(x)
2020-11-19 MATLAB学习小结(十七)
当plot函数的参数x是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。
x=[2.5, 3.5, 4, 5];
y=[1.5, 2, 1, 1.5];
cx=x+y*i;
plot(cx)
2020-11-19 MATLAB学习小结(十七)

复型变量也可以用complex函数构建 cx = complex(x,y);

(3)plot(x, y)函数参数的变化形式
当x是向量,y是矩阵时:
如果矩阵y的列数等于x的长度,则以向量x为横坐标,以y的每个行向量为纵坐标绘制曲线,曲线的条数等于y的行数。
如果矩阵y的行数等于x的长度,则以向量x为横坐标,以y的每个列向量为纵坐标绘制曲线,曲线的条数等于y的列数。

例2 绘制sin(x)、sin(2x)、sin(x/2)的函数曲线。
x=linspace(0,2pi,100);
y=[sin(x); sin(2
x); sin(0.5x)];
plot(x,y)
2020-11-19 MATLAB学习小结(十七)
当x、y是同型矩阵时:
以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
t=0:0.01:2
pi;
t1=t’;
x=[t1, t1, t1];
y=[sin(t1), sin(2t1), sin(0.5t1)];
plot(x,y)
2020-11-19 MATLAB学习小结(十七)

(4)含多个输参数的plot函数
plot(x1, y1, x2, y2, …, xn, yn)
其中,每一向量对构成一组数据点的横、纵坐标,绘制一条曲线。
例3 采用不同个数的数据点绘制正弦函数曲线,观察曲线形态。
t1=linspace(0, 2pi, 10);
t2=linspace(0, 2
pi, 20);
t3=linspace(0, 2pi, 100);
plot(t1, sin(t1), t2,sin(t2)+1, …
t3, sin(t3)+2)
2020-11-19 MATLAB学习小结(十七)
(5)含选项的plot函数
plot(x, y, 选项)
其中,选项用于指定曲线的线型、颜色和数据点标记。
2020-11-19 MATLAB学习小结(十七)
例4 用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。
x=(0:pi/50:2
pi)’;
y1=2exp(-0.5x)[1,-1];
y2=2
exp(-0.5x).sin(2pix);
x1=0:0.5:6;
y3=2exp(-0.5x1).sin(2pi*x1);
plot(x,y1,‘k:’, x,y2,‘b–’, x1,y3,‘rp’)
2020-11-19 MATLAB学习小结(十七)
使用plot函数绘图时,先要取得x、y坐标,然后再绘制曲线,x往往采取等间隔采样。在实际应用中,函数随着自变量的变化趋势未知,或者在不同区间函数频率特性差别大,此时使用plot函数绘制图形,如果自变量的采样间隔设置不合理,则无法反映函数的变化趋势。

例5 绘制函数sin 1/????的图形。
x=0:0.005:0.2;
y=sin(1./x);
plot(x,y)
2020-11-19 MATLAB学习小结(十七)

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’)
2020-11-19 MATLAB学习小结(十七)

(2)双输入函数参数的用法
fplot(funx, funy, tlims, 选项)
其中,funx、funy代表函数,通常采用函数句柄的形式。tlims为参数函数funx和funy的自变量的取值范围,用二元向量[tmin,tmax]描述 。
例7 已知螺旋线的参数方程
x = ???? ∙ ????????????????
???? = ???? ∙ ????????????????
绘制曲线。
fplot(@(t)t.*sin(t), @(t)t.cos(t), [0,10pi], ‘r’)
2020-11-19 MATLAB学习小结(十七)