资源描述:
《matlab实验04多元函数微积分》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验04多元函数微积分一实验目的2二实验内容2三实验准备2四实验方法与步骤3五练习与思考78一实验目的1了解多元函数、多元函数积分的基本概念,多元函数的极值及其求法;2理解多元函数的偏导数、全微分等概念,掌握积分在计算空间立体体积或表面积等问题中的应用;3掌握MATLAB软件有关求导数的命令;4掌握MATLAB软件有关的命令.二实验内容1多元函数的偏导数,极值;2计算多元函数数值积分;3计算曲线积分,计算曲面积分.三实验准备1建立符号变量命令为sym和syms,调用格式为:x=sym('x')建立符号变量x;s
2、ymsxyz建立多个符号变量x,y,z;2matlab求导命令diff的调用格式:diff(函数,变量名x)求对x的偏导数;diff(函数,变量名x,n)求对x的n阶偏导数;3matlab求雅可比矩阵命令jacobian的调用格式:jacobian([f;g;h],)给出矩阵4MATLAB中主要用int进行符号积分,常用格式如下:①int(s)表示求符号表达式s的不定积分②int(s,x)表示求符号表达式s关于变量x的不定积分③int(s,a,b)表示求符号表达式s的定积分,a,b分别为积分的上、下限④int(
3、s,x,a,b)表示求符号表达式s关于变量x的定积分,a,b分别为积分的上、下限5MATLAB中主要用trapz,quad,quad8等进行数值积分,常用格式如下:①trapz(x,y)采用梯形积分法,其中x是积分区间的离散化向量,y是与x同维数的向量、用来表示被积函数.②quad8('fun',a,b,tol)采用变步长数值积分,其中fun为被积函数的M函数名,a,b分别为积分上、下限,tol为精度,缺省值为1e-3.③dblquad('fun',a,b,c,d)表示求矩形区域的二重数值积分,其中fun为被积
4、函数的M函数名,a,b分别为x的上、下限,c,d分别为y的上、下限.8使用helpint,helptrapz,helpquad等查阅有关这些命令的详细信息.四实验方法与步骤例1定义二元函数.解(1)方法一:symsxy;z=x.^2+y.^3;(2)方法二:编写M文件fun7.m定义函数functionz=fun7(x,y)z=x.^2+y.^3;(3)方法三:利用inline函数:f=inline('x.^2+y.^3').注:不同定义方式,调用格式不完全相同.例2绘出函数的图形.解程序为:x=linspac
5、e(-10,10,40);y=x;[X,Y]=meshgrid(x,y);Z=fun7(X,Y);surf(X,Y,Z),shadinginterp结果如图2-10所示.图2-10例3设,求.解输入命令:symsxyz;diff(x^2+2*y^2+y*z,y),得ans=4*y+z.利用jacobian命令:jacobian(x^2+2*y^2+y*z,[xy]),得ans=[2*x,4*y+z],即矩阵例4设,求.解求的程序为:symsxy;diff(x^6-3*y^4+2*x^2*y^2,x,2)结果为:
6、ans=30*x^4+4*y^2求的程序为:symsxy;diff(x^6-3*y^4+2*x^2*y^2,y,2)结果为:ans=-36*y^2+4*x^28求的程序为:symsxy;diff(diff(x^6-3*y^4+2*x^2*y^2,x),y)结果:为ans=8*x*y.注:diff(x^6-3*y^4+2*x^2*y^2,x,y)是求,而不是求例5设由所确定的的隐函数为,求.解令输入命令:symsxyz;a=jacobian(x*y+y^2+2*z^2-5,[x,y,z])可得矩阵=[y,x+2*
7、y,4*z]利用公式可得求的程序为:-a(1)/a(3),结果为:-1/4*y/z;求的程序为:-a(2)/a(3),结果为:1/4*(-x-2*y)/z.例6求(1)在点临近的极小值.(2)在内的极值.解求多元函数的极值点和极小值minf,可用如下方法方法一:X=fminsearch('f',x0),用的是Nelder-Mead单纯形搜索法求解;方法二:X=fminunc('f',x0),用的是BFGS拟牛顿迭代法求解.其中,x0是初始点.若求极大值点,用(-1)乘函数,再求极小值点.(1)程序如下:f='(
8、x(1)^2-3*x(2))^2+12*(1-2*x(2))^2';x=fminsearch(f,[-2,2]),minf=eval(f)结果为:x=-1.22470.5000,minf=2.1879e-009结果说明在,时,函数的极小值为0.8(2)先作函数的图形,程序如下:[x,y]=meshgrid(-5:0.5:5);f=(y-x.^2).^2+(1-x).^2;surf(x,