资源描述:
《matlab的多元函数李志强.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1多元函数的偏导数与全微分1、符号求导指令diff多元函数的偏导数与全微分可以通过Matlab中的diff()指令直接求解,现以二元函数为例,现要求出,则可以用下面的函数求出f=diff(diff(f,x,m),y,n)或f=diff(diff(f,y,n),x,m)实际上,当m,n取不同值时,该指令可以完成以下功能:symsxydxdyfdff=sin(x*y)+(cos(x^3+y^2))^2;fx=diff(f,x)%求fxfy=diff(f,y)%求fydf=fx*dx+fy*dy%求全微分f2x2=diff(fx,x)%求f’’xxf2xy=diff(fx,y)%求f’’xy
2、f3xyx=diff(f2xy,x)%求f’’’xyx对于表达式的结果比较冗长,输入collect和simple命令对表达式进行整理。如输入命令:collect(simple(f2x2))。M文件:symsxyz;f=x^2+y^2+z^2-4*z;fx=diff(f,x);fz=diff(f,z);fy=diff(f,y);zx=collect(-simple(fx/fz));z2xx=collect(diff(zx,x)+diff(zx,z)*zx)2空间图形的绘制画动态图像函数comet3专门用于x=f(t),y=g(t),z=h(t)所示的曲线的动画。例:圆锥的顶点为原点,轴线
3、为Z轴,设圆锥的顶角为,旋转角度为,直线速度为。动点的起始位置在原点,可得圆锥螺线的方程为M文件:t=0:0.01:60=pi/60;=2;=3;x=*sin()*cos(.*t).*t;y=*sin()*sin(.*t).*t;z=*t.*cos();comet3(x,y,z);练习:绘制圆柱螺线M文件:t=0:pi/50:10*pi;comet3(sin(t),cos(t),t);空间曲线图的绘制基本命令:1plot3——根据向量x,y,z绘制空间曲线图例1:绘制参数方程组的空间曲线图。M文件:t=1:0.01:10*pi;x=sin(t);y=cos(t);z=t;plot3(x
4、,y,z);gridon;%加网格线2boxon——显示边框t=1:0.01:10*pi;x=sin(t);y=cos(t);z=t;plot3(x,y,z,'r-o');boxon;%加边框空间网线图的绘制基本命令:mesh(x,y,z)%绘制由二元函数z=f(x,y)所确定的网格线图。例2:绘制函数z=x^2+y^2在定义域的空间网线图。x=linspace(0,4,30);(x=0:0.2:4;)y=linspace(0,3,20);(y=0:0.15:3;)[X,Y]=meshgrid(x,y);%生成数据点阵Z=X.^2+Y.^2;mesh(X,Y,Z);title(‘网线图
5、’);boxon;%(加边框)空间曲面图的绘制基本命令:surf(x,y,z)%绘制由二元函数z=f(x,y)所确定的空间曲面图。例3:x=linspace(0,4,30);(x=0:0.2:4;)y=linspace(0,3,20);(y=0:0.15:3;)[X,Y]=meshgrid(x,y);%生成数据点阵Z=X.^2+Y.^2;surf(X,Y,Z);title(‘曲面图’);boxon;例4:绘制空间曲面图:x=0:0.15:2*pi;y=0:0.15:2*pi;z=sin(y')*cos(x);surf(x,y,z)title('3-Dsurf');3重积分的计算1、矩形
6、区域上的二重积分的数值计算函数dblquad设二重积分,其中积分区域是矩形域.则二重积分函数dblquad的调用格式如下:1)q=dblquad(fun,a,b,c,d):输入量fun是被积函数,默认精度;2)q=dblquad(fun,a,b,c,d,tol):同上,但限定精度tol;3)q=dblquad(fun,a,b,c,d,tol,@quadl):指定用quadl代替quad计算二重积分.4)q=dblquad(fun,a,b,c,d,tol,@myquadf):指定使用用户自己编写得求二重积分的Matlab程序myquadf.m代替quad计算二重积分.2、长方体上三重积分
7、数值计算函数triplequad设三重积分,其中积分区域是长方体域,则三重积分函数triplequad的调用格式如下:1)q=triplequad(fun,a,b,c,d,e,f):输入量fun是被积函数;2)q=triplequad(fun,a,b,c,d,tol):同上,但限定精度tol;3)q=triplequad(fun,a,b,c,d,tol,@quadl):指定用quadl代替quad计算三重积分;4)q=triplequad(fu