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函数绘制图形