实验1 多元函数微积分基础实验
一、实验目的
1.了解多元函数微分、积分的基本概念,理解多元函数偏导数、全微分等概念;
2.掌握多元函数极值的概念及其求法;
3.掌握MATLAB软件有关求导数、积分的命令.
二、实验原理
1.建立符号变量命令为sym和syms,调用格式为:
x=sym(′x′) 建立符号变量x;
syms x y z建立多个符号变量x,y,z.
2.MATLAB求导命令diff的调用格式:
3.求多元函数z=f(x,y)的极值点X和极小值min f,可用如下方法:
方法一:X=f minsearch(′f′,x0),用的是Nel der-Mead单纯形搜索法求解;
方法二:X=f minunc(′f′,x0),用的是BFGS拟牛顿迭代法求解.
4.MATLAB中主要用int进行符号积分,常用格式如下:
int(s)表示求符号表达式s的不定积分;
int(s,x)表示求符号表达式s关于变量x的不定积分;
int(s,a,b)表示求符号表达式s的定积分,a,b分别为积分的上、下限;
int(s,x,a,b)表示求符号表达式s关于变量x的定积分,a,b分别为积分的上、下限.
5.MATLAB中主要用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为被积函数的M函数名,a,b分别为x的上、下限,c,d分别为y的上、下限.
使用helpint,helptrapz,helpquad等查阅有关这些命令的详细信息.
三、实验内容
例1 定义二元函数z=x2+y3.
解 (1)方法一:syms x y;z=x.ˆ2+y.ˆ3;
(2)方法二:编写M文件fun7.m定义函数
(3)方法三:利用inline函数
解 (1)方法一输入命令:syms x y z;diff(xˆ2+2*yˆ2+y*z,y),得ans=4*y+z.
运行结果:ans=30*xˆ4+4*yˆ2.
运行结果:ans=-36*yˆ2+4*xˆ2.
输入命令:syms x y z;a=jacobian(x*y+yˆ2+2*zˆ2-5,[x,y,z])
例5 求f(x)=(y-x2)2+(1-x)2在-5≤x≤5,-5≤y≤5内的极值.解 (1)先作函数的图形,结果如图10-1所示.程序如下:(https://www.daowen.com)
(2)以下程序为求函数的极小值:
f=′(x(2)-x(1).ˆ2).ˆ2+(1-x(1)).ˆ2′;
x=f minsearch(f,[0.2,0.3]),minf=eval(f).
运行结果:x=[1.0000,1.0000],minf=4.1546e-010.
说明在x=1,y=1时,函数的极小值为0.
解 先将被积函数转化为二次积分:
程序为:
运行结果:ans=π.
解 (1)画出积分区域图形,如图10-2所示.
图10-2
(2)计算积分值.
运行结果:I=547/168-3/4*pi.
四、练习与思考
3.求函数f(x,y)=e2x(x+y2+3y)在0<x<1,-2<y<0内的极小值.