MATLAB实验多元函数微积分.doc
文本预览下载声明
实验04 多元函数微积分
一 实验目的 2
二 实验内容 2
三 实验准备 2
四 实验方法与步骤 3
五 练习与思考 7
一 实验目的
1 了解多元函数、多元函数积分的基本概念,多元函数的极值及其求法;
2 理解多元函数的偏导数、全微分等概念,掌握积分在计算空间立体体积或表面积等问题中的应用;
3 掌握MATLAB软件有关求导数的命令;
4 掌握MATLAB软件有关的命令.
二 实验内容
1 多元函数的偏导数,极值;
2 计算多元函数数值积分;
3计算曲线积分,计算曲面积分.
三 实验准备
1 建立符号变量命令为sym和syms,调用格式为:
x=sym(x) 建立符号变量x;
syms x y z 建立多个符号变量x,y,z;
2 matlab求导命令diff的调用格式:
diff(函数,变量名x) 求对x的偏导数;
diff(函数,变量名x,n) 求对x的n阶偏导数;
3 matlab求雅可比矩阵命令jacobian的调用格式:
jacobian([f;g;h],)给出矩阵
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的上、下限.
使用help int,help trapz,help quad等查阅有关这些命令的详细信息.
四 实验方法与步骤
例1 定义二元函数.
解 (1)方法一:syms x y;z=x.^2+y.^3;
(2)方法二:编写M文件fun7.m定义函数
function z=fun7(x,y)
z=x.^2+y.^3;
(3)方法三:利用inline函数:f=inline(x.^2+y.^3).
注:不同定义方式,调用格式不完全相同.
例2 绘出函数的图形.
解 程序为:
x=linspace(-10,10,40);y=x;[X,Y]=meshgrid(x, y);
Z=fun7(X,Y);surf(X,Y,Z),shading interp
结果如图2-10所示.
图2-10
例3 设,求.
解 输入命令:syms x y z;diff(x^2+2*y^2+y*z,y),得ans=4*y+z.
利用jacobian命令:jacobian(x^2+2*y^2+y*z,[x y]),得ans=[2*x,4*y+z],即矩阵
例4 设,求.
解 求的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,x,2)
结果为: ans=30*x^4+4*y^2
求的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,y,2)
结果为:ans=-36*y^2+4*x^2
求的程序为:syms x y;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 设由所确定的的隐函数为,求.
解 令
输入命令:syms x y z;a=jacobian(x*y+y^2+2*z^2-5,[x,y,z])
可得矩阵=[y,x+2*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=(x(1)^2-3*x(2))^2+12*(1-2*x(2))^
显示全部