详解 Matlab 求积分的各种方法
一、符号积分由函数 int 来实现。
该函数的一般调用格式为:
int(s):
没有指定积分变量和积分阶数时,系统按 findsym 函数指示的默认变量对被 积函数或符号表达式 s 求不定积分; int(s,v):
以 v 为自变量,对被积函数或符号表达式 s 求不定积分; int(s,v,a,b):
求定积分运算。
a,b 分别表示定积分的下限和上限。
该函数求被积函数在区间[a,b]上的定积分。
a和b可以是两个具体的数,也可以是一个符号表达式,还可以是无穷 (inf) 。
当函数f关于变量x在闭区间[a,b]上可积时,函数返回一个定积分结果。
当a,b中有一个是inf时,函数返回一个广义积分。
当a,b中有一个符号表达式时,函数返回一个符号函数。
例:
求函数xz+yz+z2的三重积分。
内积分上下限都是函数,对 z积分下限是sqrt(x*y),积分上限是x^2*y ;对 y积分下限是sqrt(x),积分上限是x^2;对x的积分下限1, 上限是2,求解如 下:
>>syms x y z %定义符号变
量 >>F2二i nt(i nt(i nt(xA2+yA2+zA2,z,sqrt(x*y),xA2*y),y,sqrt(x),xA2),x,1,2) %注意定积 分的书写格式 F2 =57/-
/348075*2八(1/2)+14912/4641*2八(1/4)+64/225*2八(3/4) % 给出有理数
解 >>VF2=vpa(F2) %给出默认精度的数值解 VF2 =
224.9
232805 二、数值积分
1.数值积分基本原理求解定积分的数值方法多种多样,如简单的梯形法、辛 普生(Simpson)?法、牛顿—柯特斯(Newton-Cotes)法等都是经常采用的方法。
它们的基本思想都是将整个积分区间[a,b]分成n个子区间[xi,xi+1],
i=1,2,…,•,其中 x仁a, xn+仁b。
这样求定积分问题就分解为求和问题。
2. 数值积分的实现方法基于变步长辛普生法, MATLAB给出了 quad函数来 求定积分。
该函数的调用格式为:
[I,n]=quad('fname',a,b,tol,trace)基于变步长、牛顿—柯特斯(Newton-Cotes) 法,MATLAB给
出了 quadl函数来求定积分。
该函数的调用格式为:
[I,n]=quadl('fname',a,b,tol,trace) 其中 fname 是被积函数名。
a和b分别是定积分的下限和上限。
tol 用来控制积分精度,缺省时取 tol=
0.0
01 。
trace 控制是否展现积分过程,若取非 0 则展现积分过程,取 0 则不展现, 缺省时取 trace=
返回参数I即定积分值,n为被积函数的调用次数。
例:
求函数'exp(-x*x)的定积分,积分下限为0,积分上限为
matlab 下载1。
>>fun=inline('exp(-x.*x)','x'); %用内联函数定义被积函数
fname>>Isim=quad(fun,0,1) %辛普生法 Isim =
0.IL=quadl(fun,0,1) %牛顿-柯特斯法 IL =
0.7
988447三、梯形法求向量积分trapz(x,y)—梯形法沿列方向求函数 Y关于自 变量X的积分(向量形式,数值方法)。
>>d=
0.001;>>x=0:
d:
1;>>S=d*trapz(exp(-x.A2))S=
0.7468 或:
>>format long g>>x=0:
0.001:
1; %x向量,也可以是不等间距>>y=exp(-x.A2); %y向量,也可以不是由 已知函数生成的向量 >>S=trapz(x,y); %求向量积分 S =
0.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论