MATLAB总结 - 隐函数、符号函数作图_第1页
MATLAB总结 - 隐函数、符号函数作图_第2页
MATLAB总结 - 隐函数、符号函数作图_第3页
MATLAB总结 - 隐函数、符号函数作图_第4页
MATLAB总结 - 隐函数、符号函数作图_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、I. 隐函数f(x,y)=0, f(x(t),y(t),z(t)=0; z=f(x,y)ezplot, ezplot3, ezcontour, conctourf, ezpolar, ezmesh, ezmeshc, ezsurf, ezsurfc1. ezplot:画符号函数图形ezplot(f):对于显式函数f=f(x),在默认的范围-pi<x<pi上画函数f(x);对于隐函数f=f(x,y),在默认的平面区域-pi<x<pi,-pi<y<pi上画函数f(x,y)的图像。ezplot(f,min,max):在指定的范围min<x<max内画函

2、数表达式f=f(x)。若没有图形窗口存在,则该函数先生成标题为Figure No.1的新窗口,再在该窗口中操作;若已经有图形窗口存在,这在标号最该的图形窗口中进行操作。ezplot(f,xmin xmax,fing):在指定标号为fign的窗口中、指定范围xmin xmax内画函数f=f(x)的图形。ezplot(f,xmin,xmax,ymin,ymax):在平面矩形区域xmin<x<xmax,ymin<y<ymax上画出f(x,y)=0的图像。ezplot(x,y):在默认范围0<t<2pi内画出参数形式函数x=x(t)与y=y(t)的图形。ezplot

3、(x,y,tmin,tmax):在指定范围tmin<t<tmax内画参数形式函数x=x(t)与y=y(t)的图形。ezplot(,figure):在由参量文件figure句柄指定的图形窗口中画函数图形。例如:画下面的隐函数>> syms x y>> ezplot(2*x4-y9)2. ezplot3:三维曲线图ezplot3(x,y,z):在默认的范围0<t<2pi内画参数形式的曲线x=x(t),y=y(t),z=z(t)图像。ezplot3(x,y,z,tmin,tmax):在默认的范围tmin<t<tmax内画参数形式的曲线x=x

4、(t),y=y(t),z=z(t)图像。ezplot3(,animate):以动画形式画出空间三维曲线。例如:>> syms t>> ezplot3(t*sin(t),t*cos(t),t,0,20*pi)此外,三维曲线的视角可以通过程序命令来控制,也可以手动设置。3. ezcontour:画符号函数的等高线图ezcounter(f):画出二元符号函数f=f(x,y)的等高线图。函数f将被显示在默认的平面区域-2pi<x<2pi, -2pi<y<2pi内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有定义,则这些点

5、不显示。ezcontour(f,domain):在指定的定义域domain内画出二元函数f(x,y),参量domain可以是四维向量xmin,xmax,ymin,ymax或二维向量min,max(其中显示区域为min<x<max,min<y<max)。ezcontour(,n):用指定n*n个栅格点(对定义域的一种划分),在默认(若没有指定)的区域内画出函数f的图形。n的默认值为60.例如:>> syms x y>> f=(1-x)2*exp(-(x2)-(y+1)2)-5*(x/5-x3-y5)*sin(-x2-y2)-1/3*exp(-(x+

6、1)2-y2);>> ezcontour(f,-3,3,49)4. contourf:用不同颜色填充的等高线图ezcontourf(f):画二元函数f=f(x)的等高线图,且在不同的等高线之间自动用不同的颜色进行填充。函数f兼备现实与默认的平面区域-2pi<x<2pi,-2pi<y<2pi内。系统将根据函数变动激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有意义,这些点将不显示。ezcontourf(f,domain):在指定的定义域domain内画出二元函数f(x,y)的等高线图,且在不同的等高线之间自动用不同的颜色进行填充。定义域domain可

7、以是四维向量xmin,xmax,ymin,ymax或者二维向量min,max)(其中显示区域为:min<x<max,min<y<max)。ezcontourf(,n)用指定的n*n个栅格点,在默认(若没有指定)的区域内画出函数f的等高线,且在不同的等高线之间自动用不同的颜色进行填充。n的默认值是60.例如:>> syms x y>> f=(1-x)2*exp(-(x2)-(y+1)2)-5*(x/5-x3-y5)*sin(-x2-y2)-1/3*exp(-(x+1)2-y2);>> ezcontourf(f,-3,3,60)5. ez

8、polar:画极坐标函数图象ezpolar(f):在默认的范围0<theta<2pi内画极坐标函数rho=f(theta)的图形,且将函数关系式显示于图像下方。ezpolar(f,a,b):在指定的范围a<theta<b内画极坐标函数rho=f(theta)的图形,且将函数关系式显示于图像下方。例如:>> syms t>> ezpolar(1+cos(5*t)6. ezmesh:符号函数的三维网格图ezmesh(f):画出二元符号函数f=f(x,y)的网格图。函数f将显示于默认的平面区域-2pi<x<2pi,-2pi<y<

9、2pi内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点上没有定义,则这些点不显示。ezmesh(f,domain):在指定的定义域domain内画出二元符号函数f(x,y)的网格图,定义域domain可以是四维向量xmin,xmax,ymin,ymax或者二维向量min,max)(其中显示区域为:min<x<max,min<y<max)。ezmesh(x,y,z):在默认的矩形定义域范围-2pi<s<2pi, -2pi<t<2pi内画参数形式的函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x

10、,y)的网格图。ezmesh(x,y,z,smin,smax,tmin,tmax):在指定的矩形定义域范围smin<s<smax,tmin<t<tmax 内画参数形式的函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图。ezmesh(x,y,z,min,max):用指定的矩形定义域min<x<max,min<y<max画出函数z=f(x,y)的网格图。ezmesh(f,n):用指定n*n个栅格点,在默认(若没有指定)的区域内画出函数f的图像。n的默认值是60.ezmesh(,circ):在一圆形区域(圆心位

11、于定义域中心)的范围内画函数f的图形。例如:>> syms x y>> ezmesh(x*sin(-x2-y2),40,'circ')>> colormap(0 0 1) %获取当前图色7. ezmeshc:同时画曲面网格图和等高线图ezmeshc(f):画出二元数学符号函数z=f(x,y)的网格图形,同时在xy平面上显示等高线图。函数f将被显示于默认的平面区域-2pi<x<2pi,-2pi<y<2pi内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点没有意义,则这些点将不显示。ezmeshc

12、(f,domian):在指定的定义域domain内画出二元数学符号函数z=f(x,y)的网格图及其等高线图,domain可以是四维向量xmin,xmax,ymin,ymax或者二维向量min,max)(其中显示区域为:min<x<max,min<y<max)。ezmeshc(x,y,z):在默认的矩形定义域范围-2pi<s<2pi,-2pi<t<2pi内画参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图形与其等高线图。ezmeshc(x,y,z,smin,smax,tmin,tmax):在指定的矩

13、形定义域范围smin<s<smax,tmin<t<tmax内画出参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的网格图形与其等高线图。ezmeshc(f,n):用指定n*n个栅格点,在默认(若没有指定)的区域内画出函数f的网格图形及其等高线图。n的默认值是60.ezmeshc(,circ):在一圆形区域(圆心位于定义域中心)的范围内画出函数f的网格图形以及其等高线图。例如:>> syms x y>> ezmeshc(x*y/(1+x2+y2),-5,5,-2*pi,2*pi,35)(颜色使用了color

14、map函数控制,上面对应的代码是colormap(cool(64)。)8. ezsurf:三维带颜色的曲面图ezsurf(f): 画出二元数学符号函数z=f(x,y)的曲面图形。函数f将显示于默认的平面区域-2pi<x<2pi,-2pi<y<2pi内。系统将根据函数变动的激烈程度自动选择相应的计算栅格。若函数f在某些栅格点没有意义,则这些点将不显示。ezsurf(f,domian):在指定的定义域domain内画出二元数学符号函数z=f(x,y)的曲面图形,domain可以是四维向量xmin,xmax,ymin,ymax或者二维向量min,max)(其中显示区域为:mi

15、n<x<max,min<y<max)。ezsurf(x,y,z):在默认的矩形定义域范围-2pi<s<2pi,-2pi<t<2pi内画参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的曲面图形。ezsurf(x,y,z,smin,smax,tmin,tmax):在指定的矩形定义域范围smin<s<smax,tmin<t<tmax内画出参数形式函数x=x(s,t)、y=y(s,t)、z=z(s,t)的二元函数z=f(x,y)的曲面图形。ezsurf(f,n):用指定n*n个栅格点,在

16、默认(若没有指定)的区域内画出函数f的图形。n的默认值是60.ezsurf(,circ):在一圆形区域(圆心位于定义域中心)的范围内画出函数f的图形。例如:>> syms x y>> ezsurf(real(atan(x+i*y)9. ezsurfc:同时画曲面图与等高线图>> syms x y>> ezsurfc(x*y/(1+x2+y2),-5,5,-2*pi,2*pi,35,'circ')II. Matlab画三维隐函数曲面implicitmesh, implicitmesh利用ezplot甚至可以直接绘制隐函数曲线F(x,

17、y)=0而无需将其写成y=f(x)的形式。然而十分可惜的是与之对应的ezsurf和ezmesh却对隐函数曲面F(x,y,z)=0的绘制无能为力。那么matlab究竟有没有用来绘制诸如F(x,y,z)=0的命令呢?答案毫无疑问是肯定的。事实上利用matlab的等值面函数isosurface就可以轻松搞定。关于isosurface的具体用法大家可以自己参看help。下面两个函数就是我利用isosurface编写的通用隐函数曲面绘制命令。1. 隐函数曲面网格图函数implicitmeshfunction h=implicitmesh(f,xlimit,ylimit,zlimit,gd)%implic

18、itmesh(f,span,gd):画隐函数曲面f(x,y,z)=0的网格图,% 各坐标范围均限定在span=lb,ub,% 网格数为gd,默认为25%implicitmesh(f,xspan,yspan,zspan,gd):画隐函数曲面f(x,y,z)=0,% 各坐标范围分别限定在xspan,yspan,zspan%h=implicitmesh(.):画隐函数曲面并输出句柄%例一:%implicitmesh(inline('x.*y+z.2'),-5 5)%注意*一定要设成点运算%例二:%f=(x,y,z)x.2+y.2+0*z-1;%注意如果f

19、中不含某个变量一定要加上诸如0*y的项。%implicitmesh(f,-1 1,10)%例三:%f=(x,y,z)(x.2 + (9/4)*y.2 + z.2 - 1).3 - x.2.*z.3 -(9/80)*y.2.*z.3;%g=(x,y,z)(sqrt(x.2+y.2)-2).2+z.2-.09;%implicitmesh(f,-1.5 1.5,-.8 .8,-1.5 1.5,50);%hold on%可以添加图形%h=implicitmesh(g,-2.3,2.3);%colormap hsv;set(h,'facecolor','none');%可

20、以设置各种效果%axis off;axis equal;if nargin=2ylimit=xlimit;zlimit=xlimit;gd=25;elseif nargin=3gd=ylimit;ylimit=xlimit;zlimit=xlimit;elseif nargin=4gd=25;elseif nargin=5elseerror('Errorin input arguments')endx=linspace(xlimit(1),xlimit(2),gd);y=linspace(ylimit(1),ylimit(2),gd);z=linspace(zlimit(1),

21、zlimit(2),gd); x,y,z=meshgrid(x,y,z);val=f(x,y,z);f,v=isosurface(x,y,z,val,0);if isempty(f)warning('There is no graph in the range.');p=;elsenewplot;p=patch('Faces',f,'Vertices',v,'CData',v(:,3),'facecolor','w','EdgeColor','flat');

22、isonormals(x,y,z,val,p);view(3);grid onendif nargout=0elseh=p;end效果图:2. 隐函数曲面表面图函数implicitsurffunction h=implicitsurf(f,xlimit,ylimit,zlimit,gd)%implicitsurf(f,span,gd):画隐函数曲面f(x,y,z)=0的网格图,% 各坐标范围均限定在span=lb,ub,% 网格数为gd,默认为25%implicitsurf(f,xspan,yspan,zspan,gd):画隐函数曲面f(x,y,z)=0,% 各坐

23、标范围分别限定在xspan,yspan,zspan%h=implicitsurf(.):画隐函数曲面并输出句柄%例一:%implicitsurf(inline('x.*y+z.2'),-5 5)%注意*一定要设成点运算%例二:%f=(x,y,z)x.2+y.2+0*z-1;%注意如果f中不含某个变量一定要加上诸如0*y的项。%implicitsurf(f,-1 1,10)%例三:%f=(x,y,z)(x.2 + (9/4)*y.2 + z.2 - 1).3 - x.2.*z.3 -(9/80)*y.2.*z.3;%g=(x,y,z)(sqrt(x.2+y.2)-2).2+z.2

24、-.09;%h=implicitsurf(f,-1.5 1.5,-.8 .8,-1.5 1.5,50);%set(h,'AmbientStrength',.5);%可以设置各种效果%hold on%可以添加图形%h=implicitsurf(g,-2.3,2.3,-2.3,2.3,-.3,.3);%colormaphsv;set(h,'AmbientStrength',.8,'FaceAlpha',.5);%可以设置各种效果%axis off;axis equal;shading interp;camlight;lightinggouraud;if nargin=2ylimit=xlimit;zlimit=xlimit;gd=25;elseif nargin=3gd=ylimit;ylimit=xlimit;zlimit=xlimit;elseif nargin=4gd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论