二维曲线

MATLAB绘图

通过本章节学习,需要掌握以下内容:

  1. 掌握MATLAB语言中二维曲线的制作
  2. 掌握绘制图形中的辅助工具操作
  3. 掌握MATLAB语言中三维曲线、三维曲面的内容
  4. 学会交互式绘图工具和图形修饰

 

4.1二维曲线

使数据可视化,直观展示数据的内在规律和联系。

plot函数 

fplot函数

 

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)

 

(2)最简单的plot函数调用格式—只包含一个输入参数

格式:plot(x)

当x是实向量时,下标为横坐标,值为纵坐标,绘制一条曲线。

>> x=[1.5, 2, 1, 1.5];

>> plot(x)

 

 

 

 

当plot函数的参数x是复数向量时,则分别以该向量元素实部和虚部为横、纵坐标绘制出一条曲线。

>> x=[2.5, 3.5, 4, 5];

>> y=[1.5, 2, 1, 1.5];

>> cx=x+y*i;    // cx = complex(x,y);

>> plot(cx)

 

TIP:复型变量也可以用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,2*pi,100);   //利用linspace生成的有100个元素的行向量数据的第一个元素值为a,最后一个元素为b,n是总采样点数。

>> y=[sin(x); sin(2*x); sin(0.5*x)];

>> plot(x,y)

 

 

当x、y是同型矩阵时

以x、y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

>> t=0:0.01:2*pi;    //0-2π的行向量

>> t1=t';    //列向量

>> x=[t1, t1, t1];    

>> y=[sin(t1), sin(2*t1), sin(0.5*t1)];

>> plot(x,y)

 

 

(4)含多个输入参数的plot函数

不同长度的多条曲线时,采用包含若干组向量对的格式调用plot函数。

plot(x1, y1, x2, y2, …, xn, yn)

其中,每一向量对构成一组数据点的横、纵坐标,绘制一条曲线。

数据点越多,曲线越光滑。

例3  采用不同个数的数据点绘制正弦函数曲线,观察曲线形态。

>> t1=linspace(0, 2*pi, 10);  //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  用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。

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; //正弦函数与X轴交点的坐标是π的整数倍

y3=2*exp(-0.5*x1).*sin(2*pi*x1);   //曲线与x轴交点的纵坐标

plot(x,y1,'k:', x,y2,'b--', x1,y3,'rp')

 

 

使用plot函数绘图时,先要取得x、y坐标,然后再绘制曲线,x往 往采取等间隔采样。在实际应用中,函数随着自变量的变化趋势未知, 或者在不同区间函数频率特性差别大,此时使用plot函数绘制图形, 如果自变量的采样间隔设置不合理,则无法反映函数的变化趋势。

例5  绘制函数sin1/𝒙 的图形。

>> x=0:0.005:0.2;

>> y=sin(1./x);

>> plot(x,y)

 

 

2.fplot函数——自适应调制采样间隔函数fplot。

可根据参数函数的变化特性,自适应的设置采样间隔。

(1)fplot函数的基本用法 fplot(f ,lims, 选项 )

其中,f代表一个函数,通常采用函数句柄的形式。lims为x轴的取值范围,用二元向量[xmin(坐标轴下线),xmax]描述,默认值为[-5, 5]。选项定 义与plot函数相同。

例6  采用fplot函数绘制函数sin1/x。

由于有些区间数据点密集,会导致数据的曲线变形,因此采用fplot函数,建议不使用数据点标记。

>> 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')

 

posted @ 2020-05-05 20:59  彡灬小宇  阅读(689)  评论(0编辑  收藏  举报