MATLAB_实验04 多元函数微积分
- 格式:doc
- 大小:691.50 KB
- 文档页数:8
m a t l a b入门经典教程--第四章数值计算-CAL-FENGHAI.-(YICAI)-Company One1第四章数值计算4.1引言本章将花较大的篇幅讨论若干常见数值计算问题:线性分析、一元和多元函数分析、微积分、数据分析、以及常微分方程(初值和边值问题)求解等。
但与一般数值计算教科书不同,本章的讨论重点是:如何利用现有的世界顶级数值计算资源MATLAB。
至于数学描述,本章将遵循“最低限度自封闭”的原则处理,以最简明的方式阐述理论数学、数值数学和MATLAB计算指令之间的内在联系及区别。
对于那些熟悉其他高级语言(如FORTRAN,Pascal,C++)的读者来说,通过本章,MATLAB卓越的数组处理能力、浩瀚而灵活的M函数指令、丰富而友善的图形显示指令将使他们体验到解题视野的豁然开朗,感受到摆脱烦琐编程后的眉眼舒展。
对于那些经过大学基本数学教程的读者来说,通过本章,MATLAB精良完善的计算指令,自然易读的程序将使他们感悟“教程”数学的基础地位和局限性,看到从“理想化”简单算例通向科学研究和工程设计实际问题的一条途径。
对于那些熟悉MATLAB基本指令的读者来说,通过本章,围绕基本数值问题展开的内容将使他们体会到各别指令的运用场合和内在关系,获得综合运用不同指令解决具体问题的思路和借鉴。
由于MATLAB的基本运算单元是数组,所以本章内容将从矩阵分析、线性代数的数值计算开始。
然后再介绍函数零点、极值的求取,数值微积分,数理统计和分析,拟合和插值,Fourier分析,和一般常微分方程初值、边值问题。
本章的最后讨论稀疏矩阵的处理,因为这只有在大型问题中,才须特别处理。
从总体上讲,本章各节之间没有依从关系,即读者没有必要从头到尾系统阅读本章内容。
读者完全可以根据需要阅读有关节次。
除特别说明外,每节中的例题指令是独立完整的,因此读者可以很容易地在自己机器上实践。
MATLAB从版升级到版后,本章内容的变化如下:MATLAB从版起,其矩阵和特征值计算指令不再以LINPACK和EISPACK库为基础,而建筑在计算速度更快、运行更可靠的LAPACK和ARPACK程序库的新基础上。
MATLAB函数积分1. 函数的定义在MATLAB中,函数是一段可重复使用的代码,用于执行特定任务或计算。
函数可以接受输入参数,并返回输出结果。
函数的定义包括函数名、输入参数和输出结果,以及函数体内执行的操作。
MATLAB中的积分函数是一类特定的函数,用于计算数学上的积分。
积分是微积分中的重要概念,表示曲线下面的面积或曲线沿某一轴方向的累积量。
通过对函数进行积分,可以求解曲线下面的面积、求解曲线长度等问题。
2. 积分函数的用途MATLAB提供了多个不同类型的积分函数,用于处理不同类型的积分问题。
这些函数可以用于科学计算、工程建模、数据处理等各种领域。
主要应用包括:•数学建模:在数学建模过程中,需要对各种复杂函数进行求解和分析。
通过使用MATLAB中的积分函数,可以方便地计算数学模型中各种变量之间的关系。
•工程计算:在工程领域中,常常需要对信号、图像、声音等进行处理和分析。
通过使用MATLAB中的积分函数,可以方便地对这些信号进行变换和处理。
•数据分析:在数据分析过程中,需要对大量的数据进行处理和统计。
通过使用MATLAB中的积分函数,可以对数据进行平滑、拟合和插值等操作。
3. 常用积分函数3.1 integralintegral函数是MATLAB中最常用的积分函数之一。
它可以用于计算一维函数在给定区间上的定积分。
integral函数的定义如下:Q = integral(fun,a,b)其中,fun是要进行积分的函数句柄(function handle),a和b是积分区间的起始点和终止点,Q是计算得到的积分结果。
例如,我们要计算函数 y = x^2 在区间 [0,1] 上的定积分,可以使用以下代码:fun = @(x) x^2;Q = integral(fun,0,1);3.2 quadquad函数是另一个常用的积分函数,它可以用于计算一维函数在给定区间上的数值积分。
与integral函数不同,quad函数允许用户指定更多选项以控制数值积分的精度和效率。
多元函数的微积分多元函数的微积分是数学中的一个重要分支,涉及到对具有多个变量的函数进行求导和积分的操作。
它在应用数学、物理学、工程学等领域中具有广泛的应用价值。
本文将从多元函数的定义和性质入手,介绍多元函数微积分的基本概念和方法,并通过一些具体的例子来说明其应用。
一、多元函数的定义和性质多元函数是指具有多个自变量的函数,一般形式为f(x1, x2, ..., xn),其中x1, x2, ..., xn是实数。
多元函数的定义域是自变量的取值范围,值域是函数的取值范围。
多元函数可以表示实际问题中的各种关系,如物体的位置随时间的变化、温度随空间位置的变化等。
多元函数的导数和偏导数是多元函数微积分的基本概念。
对于多元函数f(x1, x2, ..., xn),其导数是一个向量,表示函数在每个自变量方向上的变化率。
偏导数是多元函数在某个自变量上的导数,其他自变量保持不变。
导数和偏导数的计算方法与一元函数类似,可以通过极限的概念来定义。
二、多元函数的微分和积分多元函数的微分是指函数在某一点附近的线性逼近,可以近似地表示函数在该点的变化。
多元函数的微分可以通过导数和偏导数来计算,具体的计算方法与一元函数类似。
微分在数学和物理中有广泛的应用,如近似计算、优化问题等。
多元函数的积分是对函数在某个区域上的求和操作,可以用来计算函数在该区域上的平均值、总和等。
多元函数的积分可以通过重积分来计算,即将区域分成小块,然后对每个小块进行积分,最后将结果相加。
重积分的计算方法与一元函数的积分类似,可以通过定积分的定义来推导。
三、多元函数微积分的应用多元函数微积分在实际问题中具有广泛的应用价值。
例如,在物理学中,可以利用多元函数微积分来描述物体的运动和力学性质;在经济学中,可以利用多元函数微积分来描述供需关系和最优化问题;在工程学中,可以利用多元函数微积分来解决工程设计和优化问题等。
例如,考虑一个二维平面上的函数f(x, y),表示某个物体的高度。
基于Matlab软件求解多元函数积分一、引言在数学和工程领域,积分是一个非常重要的概念和工具,用来求解曲线下面积、体积、质心、惯性矩等问题。
而多元函数积分则是积分的一种扩展,可以用来描述多维空间中的曲面积分、体积积分等问题。
Matlab是一个功能强大的数学软件,它提供了丰富的工具和函数,可以方便地求解多元函数积分。
本文将介绍使用Matlab软件求解多元函数积分的方法和步骤,重点讨论如何利用Matlab进行多元函数积分的计算和可视化。
首先将介绍Matlab中的积分函数以及多元函数的表示方法,然后通过实例演示如何使用Matlab求解多元函数积分,最后总结讨论。
二、Matlab中的积分函数Matlab提供了多种积分函数,包括单变量积分、多变量积分以及曲线积分、曲面积分等。
在这里我们主要关注多变量积分的计算。
Matlab中求解多元函数积分的函数为'integral3',它的语法格式为:integral3(@(x,y,z) f(x,y,z),xmin,xmax,ymin,ymax,zmin,zmax)其中@(x,y,z) f(x,y,z)表示被积函数,xmin、xmax、ymin、ymax、zmin、zmax分别表示积分区间的上下限。
integral3函数可以用来计算三维空间内的定积分,根据被积函数的不同,可以求解体积、质心、质量等问题。
三、多元函数的表示方法在Matlab中,多元函数可以使用匿名函数的方式进行表示。
匿名函数是一种简洁方便的函数表示方法,可以直接将函数定义为一个表达式,并赋值给一个变量。
表示一个二元函数f(x,y) = x^2 + y^2可以使用以下语句:f = @(x,y) x^2 + y^2这样就定义了一个名为f的匿名函数,可以直接通过f(x,y)的方式来计算函数值。
四、使用实例为了方便演示,我们将以一个具体的实例来说明如何使用Matlab软件求解多元函数的积分。
假设需要求解函数f(x,y,z) = x^2 + y^2 + z^2在区域D={(x,y,z)|0≤x≤1, 0≤y≤1, 0≤z≤1}的三重积分。
matlab解微积分方程Matlab是一种功能强大的数值计算软件,可以用于解决各种数学问题,包括微积分方程。
微积分方程是描述自然界中许多现象的数学模型,它们在物理、化学、生物等领域有着广泛的应用。
本文将介绍如何使用Matlab解微积分方程。
我们需要明确什么是微积分方程。
微积分方程是包含未知函数及其导数的方程,通常可以写成形如y''(x) + p(x)y'(x) + q(x)y(x) = f(x)的形式。
其中y(x)是未知函数,p(x)、q(x)和f(x)是已知函数。
解微积分方程的过程可以分为两步:建立方程和求解方程。
建立方程是将实际问题转化为数学模型,而求解方程则是找到满足方程的函数。
在Matlab中,可以使用dsolve函数来求解微积分方程。
dsolve 函数可以根据方程的类型自动选择合适的求解方法,并给出满足方程的函数表达式。
例如,对于一阶线性微分方程dy/dx + p(x)y = q(x),可以使用以下代码求解:syms x y(x)p = input('请输入p(x)的表达式:'); % 输入p(x)的表达式q = input('请输入q(x)的表达式:'); % 输入q(x)的表达式eqn = diff(y,x) + p*y - q == 0; % 建立微分方程sol = dsolve(eqn); % 求解微分方程disp('方程的解为:');disp(sol);在以上代码中,首先使用syms命令定义符号变量x和y(x),然后使用input命令分别输入p(x)和q(x)的表达式。
接下来,使用diff 命令计算y'(x),然后将其代入微分方程中得到eqn。
最后,使用dsolve命令求解方程,并将结果存储在sol中,最后将结果打印出来。
对于更高阶的微积分方程,可以使用符号变量来表示未知函数及其导数的各阶,并按照相应的形式建立方程。
多元函数的微积分多元函数微积分指的是对多元函数进行求导和积分的过程。
多元函数是含有多个自变量的函数,通常表示为f(x1, x2, ..., xn)。
在多元函数的微积分中,我们可以将每个自变量分别进行求导,得到偏导数。
偏导数告诉我们函数在一些自变量上的变化率。
此外,我们还可以对多元函数进行积分来计算函数在一定范围内的总量。
一、多元函数的偏导数1.偏导数的定义偏导数是多元函数对一些自变量的求导结果。
记多元函数f(x1,x2, ..., xn),则f对第i个自变量的偏导数定义为:∂f/∂xi = lim(h→0) (f(x1, x2, ..., xi + h, ..., xn) - f(x1,x2, ..., xi, ..., xn)) / h表示在其他自变量保持不变的条件下,f关于xi的变化率。
2.偏导数的计算对于多元函数的偏导数的计算,可以按照和一元函数求导的规则类似的方法进行。
对于每个自变量求导时,将其他自变量视为常数。
例如,对于二元函数f(x,y)=x^2+y^2,我们可以分别对x和y求偏导数。
对x求偏导数时,将y视为常数,得到∂f/∂x=2x。
对y求偏导数时,将x视为常数,得到∂f/∂y=2y。
3.偏导数的性质偏导数具有一些重要的性质。
例如,对于二阶连续可微函数,偏导数的次序可以交换,即:∂^2f/(∂x∂y)=∂^2f/(∂y∂x)这是因为二阶偏导数的定义中,先对x求导后对y求导与先对y求导后对x求导的结果是相等的。
二、多元函数的积分1.多元函数的积分概念2.定积分的计算对于多元函数的定积分,我们需要确定积分的区域或曲面,并进行适当的参数化和积分限的确定。
计算定积分时,可以按照类似于一元函数的积分法进行。
例如,对于二元函数f(x,y),我们可以通过对x或y的积分将其化简为一元函数的积分。
例如,对于三元函数f(x,y,z)=x^2+y^2+z^2,在三维空间中表示一个球体。
我们可以计算球体的体积,即球体上的函数f(x,y,z)在整个球体上的积分。
实验四 用matlab 计算积分4.1积分的有关理论定积分:积分是微分的无限和,函数)(x f 在区间],[b a 上的积分定义为∑⎰=→∆∆==ni ii x bax f dx x f I i 1)max()(lim)(ξ其中.,,2,1),,(,,1110n i x x x x x b x x x a i i i i i i n =∈-=∆=<<<=--ξ从几何意义上说,对于],[b a 上非负函数)(x f ,记分值I 是曲线)(x f y =与直线b x a x ==,及x 轴所围的曲边梯形的面积。
有界连续(或几何处处连续)函数的积分总是存在的。
微积分基本定理(Newton-Leibniz 公式):)(x f 在],[b a 上连续,且],[),()('b a x x f x F ∈=,则有)()()(a F b F dx x f ba-=⎰这个公式表明导数与积分是一对互逆运算,它也提供了求积分的解析方法:为了求)(x f 的定积分,需要找到一个函数)(x F ,使)(x F 的导数正好是)(x f ,我们称)(x F 是)(x f 的原函数或不定积分。
不定积分的求法有学多数学技巧,常用的有换元积分和分部积分法。
从理论上讲,可积函数的原函数总是存在的,但很多被积函数的原函数不能用初等函数表示,也就是说这些积分不能用解析方法求解,需用数值积分法解决。
在应用问题中,常常是利用微分进行分析,而问题最终归结为微分的和(即积分)。
一些更复杂的问题是含微分的方程,不能直接积分求解。
多元函数的积分称为多重积分。
二重积分的定义为∑∑⎰⎰∆∆=→∆+∆ijji j i y x Gy x f dxdy y x f i i ),(lim ),(0)max(22ηξ当),(y x f 非负时,积分值表示曲顶柱体的体积。
二重积分的计算主要是转换为两次单积分来解决,无论是解析方法还是数值方法,如何实现这种转换,是解决问题的关键。
MATLAB的微积分基本运算第六章 MATLAB 的微积分基本运算学习⽬标:1、熟悉符号对象和表达式的创建;2、熟悉计算结果的类型与精度控制和转换3、掌握MATLAB 中符号微积分运算:极限、导数、积分的命令及格式。
第⼀节极限⼀、极限概念演⽰:数列极限是指当n ⽆限增⼤时,n u 与某常数⽆限接近或n u 趋向于某⼀定值,就图形⽽⾔,其点列以某⼀平⾏y 轴的直线为渐近线。
函数极限也是如此。
例1:观察数列?+1n n ,当∞→n 时的变化趋势。
输⼊程序:>> n=1:100;xn=n./(n+1); >> for i=1:100;plot(n(i),xn(i),'r') % plot 是⼆维图形作图命令。
hold onend % for ……..end 语句是循环语句,循环体内的语句被执⾏100次由图可看出,随n 的增⼤,点列与直线y=1⽆限接近,所以11lim=+∞→n nn 例2:观察函数 xx f 1sin)(=,当0→x 时的变化趋势。
输⼊程序:>> x=-1:0.01:1;y=sin(1./x);plot(x,y)从图可看到,当0→x 时,x1sin 在-1和1之间⽆限次振荡,极限不存在。
例3:观察函数 xxx f )11()(+=,当∞→x 时的变化趋势输⼊程序:>> x=-1:10:1000;y=(1+1./x).^x;plot(x,y)从图可看到,当∞→x 时,函数值与某常数⽆限接近,这个常数就是e 。
⼆、极限计算:如果符号表达式F中只有⼀个变量x,x可以省略,当a=0时0也可以省略。
例:阅读理解下列程序>> syms x n>> limit(x^2*exp(x))ans =>> limit(exp(-1/x),x,0,'left')ans =inf>> limit((1+2/n)^(3*n),n,inf)ans =exp(6)三、符号对象与表达式的建⽴微积分运算的对象为函数,MATLAB称为符号表达式, MATLAB进⾏微积分运算⾸先要建⽴符号表达式,然后才可以利⽤MATLAB符号数学⼯具箱提供的函数进⾏运算。
MATLAB中的微积分运算(数值符号)显然这个函数是单词differential(微分)的简写,⽤于计算微分。
实际上准确来说计算的是差商。
如果输⼊⼀个长度为n的⼀维向量,则该函数将会返回长度为n-1的向量,向量的值是原向量相邻元素的差,于是可以计算⼀阶导数的有限差分近似。
(1)符号微分1.常⽤的微分函数函数:diff(f) 求表达式f对默认⾃变量的⼀次微分值diff(f,x) 求表达式f对⾃变量x的⼀次积分值diff(f,n) 求表达式f对默认⾃变量的n次微分值diff(f,t,n)求表达式f对⾃变量t的n次微分值>> x=1:10x =1 2 3 4 5 6 7 8 9 10>> diff(x)ans =1 1 1 1 1 1 1 1 1例1:求矩阵中各元素的导数求矩阵[1/(1+a) (b+x)/cos(x)1/(x*y) exp(x^2)]对x的微分,可以输⼊以下命令A = sym('[1/(1+a),(b+x)/cos(x);1,exp(x^2)]');B = diff(A,'x')可得到如下结果:例2:求偏导数求的偏导数。
syms x y;f = x*exp(y)/y^2;fdx = diff(f,x)fdy = diff(f,y)可得到如下结果:例3:求复合函数的导数求的导数sym('x');y = 'x*f(x^2)'y1 = diff(y,'x')得到结果如下:例4:求参数⽅程的导数对参数⽅程求导syms a b tf1 = a*cos(t);f2 = b*sin(t);A = diff(f2)/diff(f1) %此处代⼊了参数⽅程的求导公式B = diff(f1)*diff(f2,2)-diff(f1,2)*diff(f2)/diff(f1)^3 %求⼆阶导数可得到如下结果:例5:求隐函数的导数求的⼀阶导数syms x yp = 'x*y(x)-exp(x+y(x))'%隐函数可进⾏整体表⽰%注意y(x)这种写法,它代表了y是关于x的函数p1 = diff(p,x)可得到如下结果:2.符号积分1符号函数的不定积分函数:int功能:求取函数的不定积分语法:int(f)int(f,x)说明:第⼀个是求函数f对默认⾃变量的积分值;第⼆个是求⾃变量f对对⾃变量t的不定积分值。
matlab计算多元函数及其微积分数学建模心得MATLAB是一种强大的数学计算软件,可以用于计算多元函数及其微积分数学建模。
以下是我在使用MATLAB进行多元函数计算和微积分数学建模时的一些心得:
1. 多元函数计算:MATLAB可以用于计算多元函数的值、偏导数、梯度、海森矩阵等。
在进行多元函数计算时,需要注意输入变量的格式和范围,以及函数的定义和参数设置。
2. 微积分数学建模:MATLAB可以用于进行微积分数学建模,包括求解微分方程、优化问题、积分问题等。
在进行微积分数学建模时,需要注意问题的数学模型和求解方法,以及MATLAB函数的使用和参数设置。
3. 数据可视化:MATLAB可以用于进行数据可视化,包括绘制函数图像、曲线拟合、散点图、等高线图等。
在进行数据可视化时,需要注意数据的格式和范围,以及图像的样式和参数设置。
MATLAB是一种非常强大的数学计算软件,可以用于计算多元函数及其微积分数学建模。
在使用MATLAB进行计算和建模时,需要注意问题的数学模型和求解方法,以及MATLAB函数的使用和参数设置,同
时也需要注重数据的格式和范围,以及图像的样式和参数设置。
实验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(函数(,)f x y ,变量名x)求(,)f x y 对x 的偏导数f x∂∂; diff(函数(,)f x y ,变量名x,n) 求(,)f x y 对x 的n 阶偏导数n n fx∂∂;3 matlab 求雅可比矩阵命令jacobian 的调用格式: jacobian([f;g;h],[],,x y z )给出矩阵f f f x y zg g g x y zh h h xyz ⎛⎫∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂⎝⎭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 定义二元函数23z x y =+.解 (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 绘出函数23z x y =+的图形.解 程序为: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 设222u x y yz =++,求u y∂∂. 解 输入命令: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],即矩阵,u u x y ⎛⎫∂∂ ⎪∂∂⎝⎭例4 设642232z x y x y =-+,求22222,,z z zx y x y∂∂∂∂∂∂∂.解 求22zx∂∂的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,x,2)结果为: ans=30*x^4+4*y^2 求22zy ∂∂的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,y,2) 结果为:ans=-36*y^2+4*x^2求2z x y∂∂∂的程序为: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)是求zy∂∂,而不是求2z x y ∂∂∂例5 设由,x y 所确定的z 的隐函数为2225xy y z ++=,求,z zx y∂∂∂∂.解 令()22,,25F x y z xy y z =++- ''/x z zF F x∂=-∂ 输入命令:syms x y z;a=jacobian(x*y+y^2+2*z^2-5,[x,y,z]) 可得矩阵()''',,x y z F F F =[y,x+2*y,4*z] 利用公式''''/,/x z y z z zF F F F x y∂∂=-=-∂∂可得 求zx ∂∂的程序为:-a(1)/a(3),结果为:-1/4*y/z ; 求zy∂∂的程序为:-a(2)/a(3),结果为:1/4*(-x-2*y)/z. 例6 求(1)()222122()312(12)f x x x x =-+-在点()2,2-临近的极小值.(2)222()()(1)f x y x x =-+-在55x -≤≤内的极值.解 求多元函数(,)z f x y =的极值点X 和极小值minf ,可用如下方法 方法一:X=fminsearch('f',x0),用的是Nelder-Mead 单纯形搜索法求解; 方法二:X=fminunc('f',x0),用的是BFGS 拟牛顿迭代法求解. 其中[](1),(2),(3),,()X x x x x n =,x0是初始点. 若求极大值点,用(-1)乘函数,再求极小值点.(1)程序如下:f='(x(1)^2-3*x(2))^2+12*(1-2*x(2))^2'; x=fminsearch(f,[-2,2]),minf=eval(f) 结果为:x =-1.2247 0.5000, minf =2.1879e-009结果说明在1 1.2247x =-,20.5x =时,函数的极小值为0. (2)先作函数的图形,程序如下:[x,y]=meshgrid(-5:0.5:5); f=(y-x.^2).^2+(1-x).^2; surf(x,y,f);结果如图2-11所示.以下程序为求函数的极小值:图2-11f='(x(2)-x(1).^2).^2+(1-x(1)).^2';x=fminsearch(f,[0.2,0.3]),minf=eval(f),shading interp结果为:x=[1.0000,1.0000],minf=4.1546e-010 说明在1,1x y ==时,函数的极小值为0. 例8 计算积分221(1)d d x y xy x y +≤+⎰⎰.解 先将被积函数转化为二次积分:)22111(1)d d 1d d x y x y x y x y y x -+≤⎛⎫++=++ ⎪⎝⎭⎰⎰⎰, 程序为:clear; syms x y;iy=int(1+x*y,y,-sqrt(1-x^2),sqrt(1-x^2));int(iy,x,-1,1) 结果为:ans=π.例9 求对弧长的曲线积分:(1)计算2d ,:2cos ,3sin Ly s L x t y t ==⎰。
实验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(函数(,)f x y ,变量名x)求(,)f x y 对x 的偏导数fx∂∂; diff(函数(,)f x y ,变量名x,n) 求(,)f x y 对x 的n 阶偏导数n n fx∂∂;3 matlab 求雅可比矩阵命令jacobian 的调用格式: jacobian([f;g;h],[],,x y z )给出矩阵f f f x y zg g g x y zh h h xyz ⎛⎫∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂⎝⎭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 定义二元函数23z x y =+.解 (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 绘出函数23z x y =+的图形.解 程序为: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 设222u x y yz =++,求uy∂∂.解 输入命令: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],即矩阵,u u x y ⎛⎫∂∂ ⎪∂∂⎝⎭例4 设642232z x y x y =-+,求22222,,z z zx y x y∂∂∂∂∂∂∂.解 求22zx∂∂的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,x,2)结果为: ans=30*x^4+4*y^2 求22zy ∂∂的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,y,2) 结果为:ans=-36*y^2+4*x^2 求2z x y ∂∂∂的程序为: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)是求zy∂∂,而不是求2z x y ∂∂∂例5 设由,x y 所确定的z 的隐函数为2225xy y z ++=,求,z zx y∂∂∂∂.解 令()22,,25F x y z xy y z =++-''/x z zF F x∂=-∂ 输入命令:syms x y z;a=jacobian(x*y+y^2+2*z^2-5,[x,y,z])可得矩阵()''',,x y z F F F =[y,x+2*y,4*z] 利用公式''''/,/x z y z z zF F F F x y∂∂=-=-∂∂可得 求zx ∂∂的程序为:-a(1)/a(3),结果为:-1/4*y/z ; 求zy∂∂的程序为:-a(2)/a(3),结果为:1/4*(-x-2*y)/z. 例6 求(1)()222122()312(12)f x x x x =-+-在点()2,2-临近的极小值.(2)222()()(1)f x y x x =-+-在55x -≤≤内的极值.解 求多元函数(,)z f x y =的极值点X 和极小值minf ,可用如下方法 方法一:X=fminsearch('f',x0),用的是Nelder-Mead 单纯形搜索法求解; 方法二:X=fminunc('f',x0),用的是BFGS 拟牛顿迭代法求解. 其中[](1),(2),(3),,()X x x x x n =,x0是初始点. 若求极大值点,用(-1)乘函数,再求极小值点.(1)程序如下:f='(x(1)^2-3*x(2))^2+12*(1-2*x(2))^2'; x=fminsearch(f,[-2,2]),minf=eval(f) 结果为:x =-1.2247 0.5000, minf =2.1879e-009结果说明在1 1.2247x =-,20.5x =时,函数的极小值为0.(2)先作函数的图形,程序如下: [x,y]=meshgrid(-5:0.5:5); f=(y-x.^2).^2+(1-x).^2; surf(x,y,f);结果如图2-11所示. 以下程序为求函数的极小值: 图2-11f='(x(2)-x(1).^2).^2+(1-x(1)).^2';x=fminsearch(f,[0.2,0.3]),minf=eval(f),shading interp 结果为:x=[1.0000,1.0000],minf=4.1546e-010 说明在1,1x y ==时,函数的极小值为0. 例8 计算积分221(1)d d x y xy x y +≤+⎰⎰.解 先将被积函数转化为二次积分:)22111(1)d d 1d d x y x y x y x y y x -+≤⎛⎫++=++ ⎪⎝⎭⎰⎰⎰,程序为:clear; syms x y;iy=int(1+x*y,y,-sqrt(1-x^2),sqrt(1-x^2));int(iy,x,-1,1) 结果为:ans=π.例9 求对弧长的曲线积分:(1)计算2d ,:2cos ,3sin Ly s L x t y t ==⎰。
实验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(函数(,)f x y ,变量名x)求(,)f x y 对x 的偏导数f x∂∂; diff(函数(,)f x y ,变量名x,n) 求(,)f x y 对x 的n 阶偏导数n n fx∂∂;3 matlab 求雅可比矩阵命令jacobian 的调用格式: jacobian([f;g;h],[],,x y z )给出矩阵f f f x y zg g g x y zh h h xyz ⎛⎫∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂ ⎪ ⎪∂∂∂ ⎪∂∂∂⎝⎭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 定义二元函数23z x y =+.解 (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 绘出函数23z x y =+的图形.解 程序为: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 设222u x y yz =++,求u y∂∂. 解 输入命令: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],即矩阵,u u x y ⎛⎫∂∂ ⎪∂∂⎝⎭例4 设642232z x y x y =-+,求22222,,z z zx y x y∂∂∂∂∂∂∂.解 求22zx∂∂的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,x,2)结果为: ans=30*x^4+4*y^2 求22zy ∂∂的程序为:syms x y;diff(x^6-3*y^4+2*x^2*y^2,y,2) 结果为:ans=-36*y^2+4*x^2求2z x y∂∂∂的程序为: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)是求zy∂∂,而不是求2z x y ∂∂∂例5 设由,x y 所确定的z 的隐函数为2225xy y z ++=,求,z zx y∂∂∂∂.解 令()22,,25F x y z xy y z =++- ''/x z zF F x∂=-∂ 输入命令:syms x y z;a=jacobian(x*y+y^2+2*z^2-5,[x,y,z]) 可得矩阵()''',,x y z F F F =[y,x+2*y,4*z] 利用公式''''/,/x z y z z zF F F F x y∂∂=-=-∂∂可得 求zx ∂∂的程序为:-a(1)/a(3),结果为:-1/4*y/z ; 求zy∂∂的程序为:-a(2)/a(3),结果为:1/4*(-x-2*y)/z. 例6 求(1)()222122()312(12)f x x x x =-+-在点()2,2-临近的极小值.(2)222()()(1)f x y x x =-+-在55x -≤≤内的极值.解 求多元函数(,)z f x y =的极值点X 和极小值minf ,可用如下方法 方法一:X=fminsearch('f',x0),用的是Nelder-Mead 单纯形搜索法求解; 方法二:X=fminunc('f',x0),用的是BFGS 拟牛顿迭代法求解. 其中[](1),(2),(3),,()X x x x x n =,x0是初始点. 若求极大值点,用(-1)乘函数,再求极小值点.(1)程序如下:f='(x(1)^2-3*x(2))^2+12*(1-2*x(2))^2'; x=fminsearch(f,[-2,2]),minf=eval(f) 结果为:x =-1.2247 0.5000, minf =2.1879e-009结果说明在1 1.2247x =-,20.5x =时,函数的极小值为0. (2)先作函数的图形,程序如下:[x,y]=meshgrid(-5:0.5:5); f=(y-x.^2).^2+(1-x).^2; surf(x,y,f);结果如图2-11所示.以下程序为求函数的极小值:图2-11f='(x(2)-x(1).^2).^2+(1-x(1)).^2';x=fminsearch(f,[0.2,0.3]),minf=eval(f),shading interp结果为:x=[1.0000,1.0000],minf=4.1546e-010 说明在1,1x y ==时,函数的极小值为0. 例8 计算积分221(1)d d x y xy x y +≤+⎰⎰.解 先将被积函数转化为二次积分:)22111(1)d d 1d d x y x y x y x y y x -+≤⎛⎫++=++ ⎪⎝⎭⎰⎰⎰, 程序为:clear; syms x y;iy=int(1+x*y,y,-sqrt(1-x^2),sqrt(1-x^2));int(iy,x,-1,1) 结果为:ans=π.例9 求对弧长的曲线积分:(1)计算2d ,:2cos ,3sin Ly s L x t y t ==⎰。
[]2,2t ππ∈-; (2)计算2d Ly s ⎰,其中L 是抛物线2y x =上点()0,0O 与点(1,1)B 之间的一段弧;(3)计算曲线积分()222d x y z s Γ++⎰,其中Γ为螺旋线cos ,sin ,x a t y a t z kt ===上相应于t 从~ππ-的一段弧.解 (1)利用公式()()((,)d ,bLa f x y s f x t y t t =⎰⎰进行计算:程序为:syms t;x=2*cos(t);y=2*sin(t);z=0;f=y^2;int(y^2*sqrt(diff(x,t)^2+diff(y,t)^2),t,-2*pi,2*pi)结果为16*pi. (2)程序如下:syms t;x=t;y=t^2;z=0;f=y^2;int(f*sqrt(diff(x,t)^2+diff(y,t)^2),t,0,1) 结果为133/768*5^(1/2)-1/512*log(-2+5^(1/2)) (3)利用公式()()()((,,)d ,,bLa f x y z s f x t y t z t t =⎰⎰计算,程序如下:syms t a k;x=a*cos(t);y=a*sin(t);z=k*t;f=x^2+y^2+z^2; int(f*sqrt(diff(x,t)^2+diff(y,t)^2+diff(z,t)^2),t,-pi,pi) 结果为:2*(a^2+k^2)^(1/2)*a^2*pi+2/3*(a^2+k^2)^(1/2)*k^2*pi^3 例10 求对坐标的曲线积分(1)计算22d 3d Lxy x x y +⎰,其中L 为抛物线2y x =上从()0,0O 到()1,1B 的一段弧;(2)计算322d 3d d L x x zy y x y z +-⎰,其中2:34x t L y t z t=⎧⎪=⎨⎪=⎩,起点1t =,终点0t =.解 (1)利用公式()()()()()()()()()(),d ,d ,','d LP x y x Q x y y P x t y t x t Q x t y t y t t βα⎡⎤+=+⎣⎦⎰⎰计算,程序为:syms t;x=t;y=t^2;p=2*x*y;q=3*x^2;int(p*diff(x,t)+q*diff(y,t),t,0,1)结果为:ans=2.(2)利用公式()()(),,d ,,d ,,d LP x y z x Q x y z y R x y z z ++⎰()()()()()()()()()()()(),',','d P x t y t x t Q x t y t y t R x t y t z t t βα⎡⎤=++⎣⎦⎰ 计算,程序为:syms t;x=2*t;y=3*t;z=4*t;p=x^3;q=3*z*y^2;r=-x^2*y; int(p*diff(x,t)+q*diff(y,t)+r*diff(z,t),t,1,0) 结果为:ans=-73.例11 求()()1cos d sin d x x Le y x e y y y ---⎰,L 为0,0sin x y x π≤≤≤≤的边界.解 利用格林公式,设闭区域D 由分段光滑的曲线L 围成,因为函数(),P x y 及(),Q x y 在D 上具有一阶连续偏导数,故由格林公式有d d d d D LQ P x y P x Q y x y ⎛⎫∂∂-=+ ⎪∂∂⎝⎭⎰⎰⎰,其中L 是D 的取正向的边界曲线,将对坐标的曲线积分化为二重积分再化为二次积分:()()()sin 01cos d sin d d d d d xx x xx LDe y x e y y y e y x y x e y y π---=-=-⎰⎰⎰⎰⎰程序如下:syms x y;p=exp(x)*(1-cos(y));q=-exp(x)*(y-sin(y));y1=0;y2=sin(x);a=0;b=pi; s=int(int(diff(q,x)-diff(p,y),y,y1,y2),x,a,b); 结果为:s6=-1/5*exp(pi)+1/5 例12 求对面积的曲面积分(1) 计算曲面积分1d s z ∑⎰⎰,其中∑是球面2222x y z a ++=被平面()0z h h a =≤≤截得的顶部;(2)计算d ,xyz s ∑⎰⎰∑为1x y z ++=位于第一卦限的部分.解 需要先将对面积的曲面积分化为二重积分再化为二次积分()()(,,d ,,,d Df x y z s f x y z x y x y ∑=⎰⎰⎰⎰再用程序求解.(1)∑的方程为z=,2222221d d d d d D a x yr rs a z a x y a r π∑==---⎰⎰⎰⎰⎰程序为:syms a r t h;f=a*int(int('r/(a^2-r^2)',r,0,sqrt(a^2-h^2)),t,0,2*pi) 结果为:f =a*(-log(h^2)*pi+log(a^2)*pi)(2)∑的方程为1zx y =--=()()110d 31d d d 1d xDxyz s x y x y x x y x y y -∑=--=--⎰⎰⎰⎰⎰程序为:syms a r t h;f=sqrt(3)*int(int('x*y*(1-x-y)',y,0,(1-x)),0,1) 结果为:f =1/120*3^(1/2).例13 计算22d d x y z x y ∑⎰⎰,其中∑是球面2222x y z R ++=的下半球面的下侧.解 先将对坐标的曲面积分化为二重积分再化为二次积分(22222522d d d d d cos sin xyRD xy z x y x y x y r r πθθ∑=-=⎰⎰⎰⎰⎰⎰程序为:syms t r R;f=int(int('r^5*cos(t)^2*sin(t)^2*sqrt(R^2-r^2)',r,0,R),t,0,2*pi) 结果为:f =2/105*pi*R^4*(R^2)^(3/2).例14 利用高斯公式计算曲面积分()()d d d d x y x y x y z y z ∑-+-⎰⎰,其中∑为柱面221x y +=及平面0z =,4z =所围成的空间闭区域的整个边界曲面的外侧.解 利用高斯公式d d d d d d d P Q R V P y z Q z x R x y x y z Ω∑⎛⎫∂∂∂++=++ ⎪∂∂∂⎝⎭⎰⎰⎰⎰⎰有()()()()213d d d d d d d d d sin d x y x y x y z y z y z x y z r r r z z πθθ∑Ω-+-=-=-⎰⎰⎰⎰⎰⎰⎰⎰程序为:syms t r z;f=int(int(int(r*(r*sin(t)-z),z,0,4),r,0,1),t,0,2*pi)结果为:f = 8*pi.五 练习与思考1 用函数diff(z,x,2)求下列函数的偏导数(1)设32arctan 1x yz xy +=-,求2,,z z z x y x y ∂∂∂∂∂∂∂;(2)设x y zu xy ze++=+,求222222,,u u ux y z∂∂∂∂∂∂;(3)设u 222222,,u u ux y z∂∂∂∂∂∂在(1,2,1)P -点的值;(4)求函数22z x y =+在点()1,2处沿从点()1,2到点()1/22,23+的方向的方向导数. 2 设224x xy yz +-=,求,z z x y∂∂∂∂. 3 用函数fminsearch 或fminunc 求多元函数的极值:(1)求函数()()()sin sin sin z x y x y =+在0/2,0/2x y ππ<<<<内的极大值; (2)求cos 2sin sin(2)z x y x y =+-++在,x y ππππ-<<-<<内的极小值; (3)求函数()22(,)3x f x y e x y y =++在01,20x y <<-<<内的极小值.4 用定积分的方法计算椭圆221916x y +=的周长.5 计算数值积分222(1)d d x y xx y x y +≤++⎰⎰.6 用化累次积分的方法计算下列重积分:(1)()22ln 1d d DI x y x y =++⎰⎰:其中D 为圆:224x y +=所包围的在第一象限的部分;(2)222ln d d x y z x y z Ω++,222:14x y z Ω≤++≤;(3)()222d d ,:11,1,0x y z x y z y z ΩΩ+-+≤≥≥.7计算下列曲线积分:(1)求对弧长的曲线积分:s ,其中L 是2222x y z a ++=与x y =相交的圆周;(2)求对坐标的曲线积分:()()22d d Lx y x x y y ++-⎰,其中L 为由点()0,0A 到点()1,2B 的曲线328y x =.8 计算下列曲面积分:(1) 求对面积的曲面积分()4422221d x y y z x z s ∑-+-+⎰⎰,其中,∑为圆锥面z 被柱面222x y y +=所截下的部分;(2) 求对坐标的曲面积分:()()22d d d d 2d d x yz y z y zx z x z x y ∑-+-+⎰⎰,其中,:1z ∑=0z ≥部分的上侧;(3) 应用高斯公式计算闭曲面上的曲面积分()()22d d d d 2d d x yz y z y zx z x z x y ∑-+-+⎰⎰,其中,∑是球心在原点,半径为3的球面,取外法线方向.第四次实验作业 1(2)、3(2)、5、6(2)、7(2)、8(2)。