您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页利用MATLAB求解微积分的方法

利用MATLAB求解微积分的方法

来源:爱go旅游网
第 3 章 (1)MATLAB微积分

极限与级数的符号运算

 MATLAB的极限与级数运算在符号系统中进行

极限运算

 limit(f, x, a) 求符号函数f的极限 lim  a f ( x ) x limit(f, x, a, ’right’) 求符号函数f的右极限 limf(x)xa limit(f, x, a, ’left’) 求符号函数f的左极限 limf(x)xa说明:上述命令中的a可以是无穷大 inf 或 -inf

说明:多元函数的极限需要使用累次极限来计算  举例

级数运算

 symsum(an, n, i, j) j 求符号通项an的和 anni

其中,当j为无穷大inf时,即为无穷级数。  举例

级数运算

 taylor(f, n, a, x)

求符号函数f在点a关于变量x的n-1阶泰勒多项式  举例

 taylortool 泰勒工具  举例

微积分的符号运算

导函数与偏导函数

 diff(f, x) 求符号函数f对x的一阶导函数或偏导函数  diff(f, x, n) 求符号函数f对x的n阶导函数或偏导函数  注:diff是differential(微分)的缩写

- 1 -

 例:计算

 问:如何求符号函数在给定点的导数值或偏导数值?

dsinx(2x),dxe1322ln(xyxy)2xy

求完导函数或偏导函数之后,使用符号替换命令 subs 可以求得导函数值或偏导函数值

不定积分与定积分

 int(f, x)

求符号函数f关于变量x的不定积分  注:int是integration(积分)的缩写  int(f, x, a, b)

求符号函数f关于变量x的定积分,a、b分别是积分下限和上限,a、b可以是函数表达式,也可以是无穷大inf或-inf  举例

 对于定积分,当系统求不出精确解时,如果被积函数中不含待定符号,可以使用vpa命令给出近似解 例如:  syms x  a=int(sin(sin(x)), 1, 2)  vpa(a)

说明:  参数方程求导和隐函数求导需要使用相关数学公式(见教材66-67页)  重积分、曲线积分与曲面积分需要使用数学方法转化为累次积分来计算

微积分的数值运算

微积分的数值运算特点

 采用数值算法,主要用于解决导数和定积分的近似计算问题  还可以解决离散数据的相关计算问题

 实例:某河床的横断面如图所示,试根据图示的测量数据(单位: m),计算各测量点的坡度和横断面的面积。

- 2 -

0

4 1

10 12 15 3

6

8

22 9

28 5

34 3

40

数值导数

 gradient(f, x)

该命令求一元函数 f 的数值导数f ’(x)

其中,x是自变量的一组取值(离散数据),f是因变量的对应取值(离散数据) ,计算结果是各离散数据点的导数值(近似解)。

说明:

x的取值越密集,得到的导数值就越精确。 该命令常用于求解离散型数据的变化率。

 例:计算前例中的坡度

x=[0,4,10,12,15,22,28,34,40]; f=[0,-1,-3,-6,-8,-9,-5,-3,0]; fx=gradient(f,x)

 例:求函数y=x2sinx在区间[-3,3]的一阶和二阶数值导数,作出原函数与一、二阶导函数的图形,并观察函数的单调性、凹凸性、极值、拐点与一、二阶导数之间的关系。  x=-3:0.01:3; f=x.^2.*sin(x);

 fx=gradient(f,x)  fxx=gradient(fx,x)  plot(x,f, x,fx,'r--', x,fxx,'k--'), grid on

 思考:怎样求函数在指定点的数值导数?

比如:上面函数在x=1.5和x=1.501的数值导数是多少?  f(find(x==1.5)) 或者 f(x==1.5)  一般方法:[p,q]=min(abs(x-x0)); f(q)

数值偏导数

 [fx, fy]=gradient(f, x, y)

该命令求二元函数f的数值偏导数f ’x和f ’y

- 3 -

其中,x, y 分别是自变量x和y的一组取值(向量表示) ;

f 是定义在x-y平面点集区域上的函数值(矩阵表示),平面点集区域可以使用meshgrid命令生成;

fx和fy分别得到每个点处偏x和偏y的偏导数值(矩阵表示)。  说明:x和y的取值越密集,得到的偏导数值就越精确;该命令常用于求解离散型数据的方向导数、梯度、散度、旋度等。  举例

数值定积分

 梯形法数值积分:trapz(x, y)

 其中x 表示自变量在积分区间的一组取值,y 表示被积函数对应于x 的一组函数值。

 例:计算前面例题中的横断面积

x=[0,4,10,12,15,22,28,34,40]; y=[0,1,3,6,8,9,5,3,0]; s=trapz(x, y)

 例:求积分

 解:x=-1: 0.1: 1 ; y=exp(-x.^2) ; trapz(x,y)

 高精度数值积分:quad(f, a, b)或quadl(f, a, b)

 求函数f 在区间[a, b] 上的定积分,其中:f 使用字符串函数表达式或内联函数,定义函数的乘、除、乘方时要使用点运算 。积分限 a 、b 必须是常量 。

quad 采用自适应步长Simpson 积分法 quadl 采用高精度Lobatto 积分法

 例 求积分

 解:z=quadl('exp(-x.^2)', -1, 1)

 注意:trapz, quad, quadl都不能用于求反常积分。

数值重积分

 矩形区域上的二重积分和立方体区域上的三重积分: 二重积分命令 dblquad(f, a1, a2, b1, b2)

- 4 -

f 为被积函数, 积分区域为矩形[a1, a2; b1, b2] 三重积分命令 triplequad(f, a1, a2, b1, b2 , c1, c2)

f 为被积函数, 积分区域为立方体[a1, a2; b1, b2; c1, c2]

说明:①被积函数使用字符串函数表达式或内联函数;②乘、除、乘方要用点运算;③积分限必须是常量;④f是字符串函数表达式时,积分的顺序按照自变量的字典顺序进行,f是内联函数时,积分的顺序按照自变量的定义顺序进行。

 积分顺序举例

 dblquad('sin(t./r.^2)',1,2,6,9)

即 二重积分 92tdtsin61r2dr

 f=inline('sin(t./r.^2)', 't', 'r')  dblquad(f,1,2,6,9)

即 二重积分 9

6dr21tsin2dtr微积分的数值运算

数值重积分

 例 计算重积分

- 5 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务