3.1.2 plotyy函数、fplot函数和ezplot函数

3.1.2 plotyy函数、fplot函数和ezplot函数

plotyy函数是用来绘制在同一个坐标中带有双纵坐标标度的两个图形,这有利于对两个图形数据进行对比分析.调用格式为:

plotyy(x1,y1,x2,y2)

其中,x1和y1对应一条曲线,x2和y2对应另一条曲线.两个曲线横坐标的标度相同,纵坐标有两个,左纵坐标对应于x1和y1,右纵坐标用于x2和y2.

例3.6 用不同标度在同一坐标内绘制曲线y=e-0.5xsin(2πx)和y=1.5e-0.1xsin x.

解:程序如下:

程序运行结果如图3-8所示.

图3-8 用双纵坐标函数plotyy绘制的曲线

fplot函数是自适应采样绘图函数.前面讲的绘图函数在绘制曲线图时,取数据点一般采用等间隔采样,这对振荡较为强烈的函数就不适应了,即使数据点足够稠密.fplot函数有自适应采样的功能,在变化率大的区域密集采样,能更好地反映函数的变化规律.该函数的调用格式为:

fplot(filename,lims,tol,LineSpec)

其中,filename是函数名,以字符串形式出现,或是函数文件名,自变量为x,如sin(x),[sin(x),cos(x)];lims是x和y的取值范围,行向量形式;[xmin,xmax]表示x的取值范围;[xmin,xmax,ymin,ymax]表示x和y的取值范围;tol表示相对允许误差,系统默认值为2×10-3;LineSpec选项与plot函数相同.

例3.7 用fplot函数绘制曲线.

解:程序如下:

也可以先建立函数文件myf.m:

再使用fplot函数绘制函数文件myf.m所定义的曲线:

运行程序,可得图3-9所示的结果.

图3-9 用自适应采样函数fp lot绘图

例3.8 用fplot函数在[-20,20]内绘制两条曲线和y=x2.

解:先建立函数文件graph1.m:

再使用fplot函数绘制函数文件graph1.m所定义的曲线:

得到如图3-10所示图形.

也可以直接使用fplot函数:

也能得到图3-10所示的结果.

图3-10 用自适应采样函数fplot绘制两条曲线图

前面两个函数都必须是显函数的形式才可以使用.如果函数用隐函数的形式,可以使用ezplot函数.下面给出ezplot函数的几种用法.

①如果是显函数y=f(x),调用格式为:

ezplot(fun)

ezplot(fun,[min,max])

其中,fun是函数表达式; [min,max]是自变量的取值范围,缺省时为(-2π,2π).

②如果是隐函数f(x,y)=0,调用格式为:

ezplot(fun2)

ezplot(fun2,[xmin,xmax,ymin,ymax])

ezplot(fun2,[min,max])

其中,fun2是fun2(x,y)=0等式左边表达式;[xmin,xmax,ymin,ymax]是自变量x和y的取值范围,[min,max]是两个自变量相同的取值范围,缺省时两个都为(-2π,2π).

③如果是参数方程x=x(t)和y=y(t),调用格式为:

ezplot(funx,funy)

ezplot(funx,funy,[tmin,tmax])

其中,funx和funy是两个参数表达式;[tmin,tmax]是参变量t的取值范围,缺省时为(0,2π).

注意,ezplot函数是采用自适应采样绘图.

例3.9 用ezplot函数绘制下列曲线:

;②.

解:程序如下:

运行结果如图3-11所示.

图3-11 用ezplot函数绘制图形