Matlab求解积分问题探讨.docMatlab求解积分问题探讨
-.相关函数:
%符号积分
int(f,v)
int(f,v,a,b)
%数值积分
trapz(x,y) %梯形法沿列方向求函数Y关于自变量X的积分
cumtrapz(x,y) %梯形法沿列方向求函数Y关于自变量X的累计积分
quad(fun,a,b,tol) %采用递推自适应Simpson法计算积分
quadl(fun,a,b,tol) %采用递推自适应Lobatto法求数值积分
dbquad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol) %二重(闭型)数值积分指令 triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol) %三重(闭型)数值积分指令
:
例1:计算f(t)=exp(-tA2)在[0,1]上的定积分
本例演示:计算定积分常用方法
» syms x
int(exp(-xA2),0,l) l/2*erf(l)*piA(l/2) %erf 为误差函数 » vpa(int(exp(-xA2),0,1))
ans =
.7468241328124270
» d=;x=0:d: 1 ;d*trapz(exp(-))
ans =
» quad('exp(-)*,0,1,1 e-8)
例 2:计算 f(t)=l/log(t)在[0,x],0vxvl 上的积分
注意:被积函数于x=0无义,在x->lA-处为负无穷
本例演示:用特殊函数表示的积分结果,如何用mfun指令
(1)
syms t x
ft=l/log(t);
sx=int(ft,t,O,x) sx =
-Ei(l,-log(x)) %完全椭圆函数
(2)
x=::
sx_n=-mfun('Ei', 1 ,-log(x)) x =
sx_n =
- - - - -
%图示被函数和积分函数
elf
ezplot(' l/log(t)', [,])
grid on
hold on
plot(x,sx_n,'Line Width*,3)
Charl=T/ln(t)';
Char2=,{\int_0Ax} l/ln(t) dt1;
title([Charl; and *,Char2])
legend(Charl,Char2,Location','South West')
例3:计算f(t)=exp(-sin(t))在[0,4]上的定积分
注意:本题被函数之原函数无”封闭解析表达式”,符号计算无法解题!
本例演示:符号计算有限性
符号计算解法
syms t x
ft=exp(-sin(t))
sx=int(ft,t,0,4)
ft =exp(-sin(t))
Warning: Explicit integral could not be found.
> In at 58 sx =
int(exp(-sin(t)),t = 0 ..
Matlab求解积分问题探讨 来自淘豆网m.daumloan.com转载请标明出处.