隐函数绘图
如果给定了函数的显式表达式,可以先设置自变量向量,然后根据表达式计算出函数向量, 从而用plot 、plot3等函数绘制出图形。但如果函数用隐函数形式给出,则很难用上述方法绘制 出图形。MATLAB提供了一些函数用来绘制隐函数图形。
一、 隐函数二维绘图
隐函数二维绘图采用ezplot 函数,它有各种变形,下面介绍常用的使用方法。
(1)对于函数y=f(x), ezplot函数的调用格式如下。
① ezplot(f): 在默认区间-2π<x<2π绘制y=fx) 的图形。其中f 可以是函数文件名或函数表达式组成的字符串,也可以是一个匿名函数表达式或函数名。
② ezplot(f,[a,b]): 在区间a<x<b 绘制y=f(x)的图形。
(2)对于隐函数f(x,y)=0,ezplot 函数的调用格式如下。
① ezplot(f): 在默认区间-2π<x<2π 和-2π<y<2π绘制fx,y)=0 的图形。
② ezplot(f,[a,b]): 在区间a<x<b 和 a<y<b 绘制fx,y)=0 的图形。
③ ezplot(f,[xmin,xmax,ymin,ymax]): 在区间xmin<x<xmax 和 ymin<y<ymax 绘制f(x,y)=0 的图形。
(3)对于参数方程x=x(t)和 y=y(t),ezplot 函数的调用格式如下。
① ezplot(x,y): 在默认区间0<K<2π绘 制x=x() 和y=(1) 的图形。
② ezplot(x,y,[tmin,tmax]): 在区间tmin<K<tmax绘制x=x(t)和 y=y(t)的图形。
例1 隐函数绘图应用举例。
程序如下:
subplot(2,2,1);ezplot('x^2+y^2-9');axis equal
subplot(2,2,2);ezplot(@(x,y)x.^3+y.^3-5.*x.*y+1/5)
subplot(2,2,3);ezplot('cos(tan(pi*x))',[ 0,1])
subplot(2,2,4);ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi])
二、隐函数三维绘图
隐函数三维绘图函数有 ezcontour、ezcontourf、ezmesh、ezmeshc、ezplot3、ezpolar、ezsurf、 ezsurfc,它们的调用格式基本相同,需要时查阅帮助信息。
下面以ezsurf函数为例介绍常用的使用方法。ezsurf 函数调用的是surf 函数的功能,其调用格式如下。
(1)ezsurf(f): 绘制曲面z=f(x,v),其中f 的表示方法与ezplot函数相同。x 、y取默认范围-2π<x<2π,-2π<y<2π
(2)ezsurf(f,[xmin,xmax,ymin,ymax])或ezsurf(f,[min,max]):在指定的区间绘制曲面z=(x,y)。
(3)ezsurf(x,y,z): 在默认区域-2π<s<2π,-2π<t<2π上绘制参数方程x=x(s,t),y=y(s,t),z=z(s,t) 的曲面。
(4)ezsurf(x,y,z,[smin,smax,tmin,tmax])或ezsurf(x,y,z,[min,max]):使用指定的区域绘制参数 方程曲面。
例2 绘制下列曲面:
命令如下:
>> ezsurf('exp(-s)*cos(t)','exp(-s)*sin(t)','t',[0,8,0,5*pi])