matlab嵌套使用integral函数,matlab实现数值积分 【二】(integral函数)

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

3 u, ]! d, O+ }5 J1 s如果被积函数的数学表达式已知,但解析解不易求,可使用数值积分的方法求解积分。2 h2 ?/ I$ q5 X/ k  w

目录2 p4 `! x. q/ x3 ^0 Q8 G: w0 N

函数调用格式

$ [; @: {% J  b) R, h6 p/ X应用举例. A7 z/ X4 b& M1 K0 V  B

例1:求解数值解并检验其精度" z- t0 U1 R: v: C# w% B, ~

例2:分段函数积分

0 H0 s1 |. ?! N例3:与梯形法比较

: |+ g  y) V5 ^4 `例4:大范围积分

! Z: g2 D# x8 X( _8 r6 g( i" j. J例5:广义积分的数值计算

9 g8 M/ ~6 o8 o* q6 V例6:含参函数数值积分! I' w, p3 q3 A) K0 ?2 X

6 @2 B4 W2 [0 Y4 E( l% |& @6 T* y

* r  h) Y9 z/ t  ^4 @

函数调用格式$ F4 ^+ Y6 L) Q( P3 _

/ h6 Z: D% I/ Z$ {

none.gif

1.png (19.28 KB, 下载次数: 0)

2021-2-5 10:14 上传

8 H- u' q4 b0 G! p! `! [

$ `0 ~+ ^8 F* T( i9 p4 R

' y; y! [3 [. E+ a  W应用举例

$ I6 l) n2 `8 ?( C" w例1:求解数值解并检验其精度

& Y; C+ M4 R, {9 [! q, `4 c/ p计算积分

* [0 r8 H" k# [* B; L

none.gif

15.png (4.28 KB, 下载次数: 0)

2021-2-5 10:14 上传

- |: _( Q8 Q0 q8 K6 @  {3 S

5 A: l' I  i3 W$ R# D- X' g

f = @(x) 2/sqrt(pi)*exp(-x.^2);  % //匿名函数

y = integral(f,0,1.5)  % //数值求解E8 W* y: }, {- `; Z# d+ k

) l/ `2 J- s! ^- `结果为  y=0.96610514647531

6 e  p# o/ g: T# g; h, e1 M! I% i

求解解析解:

! m; r6 j1 ~5 h$ z8 Nsyms x, y0=vpa(int(2/sqrt(pi)*exp(-x^2),0,1.5),60)

, x* y  J$ N2 j7 S结果为:y0=0.966105146475315 a5 [, ^# n% d/ y& f9 }

& r/ M, P9 p0 {. E% ^7 D1 W, H

结论:可以看出,默认选项下数值解函数integral()便可保证高精度的数值解。* Q6 x% G0 w" E" V7 ]+ D

! e) ]* O* G4 a  a; Z/ E9 q1 G- [( J. C" @0 T! K  X. z+ W% J

例2:分段函数积分* J/ J% l5 D3 l5 j, c

! y, U! O' q" B# a; W3 ^9 c

给定如下分段函数:* s$ |9 _' y0 i$ q  h

none.gif

16.png (13.5 KB, 下载次数: 0)

2021-2-5 10:14 上传

" \8 \- F6 ^- `/ f# M8 D4 D4 Y9 U计算积分值

none.gif

17.png (2.46 KB, 下载次数: 0)

2021-2-5 10:14 上传

。- i! |: Z; l" @+ \, l0 n: b

! S+ ~- V" k. Z8 {1 ~# g

绘制 f ( x )填充图) l2 q0 {# Y0 A3 a4 b: J  ^x=[0:0.01:2, 2+eps:0.01:4,4];

y=exp(x.^2).*(x<=2)+80./(4-sin(16*pi*x)).*(x>2);

x=[eps,x,4-eps]; y=[0,y,0]; fill(x,y,'g') %//绘制填充图

3 M" }+ D8 r0 s: m4 \

8 Q3 V  O& T7 |' o9 Y

none.gif

18.jpg (25.67 KB, 下载次数: 0)

2021-2-5 10:14 上传

- o/ ]4 r3 v' {+ o& \6 ^! ]$ c& \( p, |" \7 _) S8 N" H* n% m

! i( l7 N( g" z求解与验证

& w+ W3 O. M3 T& s$ \: y* l0 S3 C% N. g

/ l" `: z- E+ J/ n% A; b3 jf = @(x) exp(x.^2).*(x<=2)+80./(4-sin(16*pi*x)).*(x>2);

I1 = integral(f,0,4)   %//数值解

I2 = integral(f,0,4,'RelTol',1e-20)   %//提高精度

syms x

f = piecewise( x<=2, exp(x^2),  x>2, 80/(4-sin(16*pi*x)) );

I0 = vpa(int(f,x,0,4))   %//解析解

7 c. [& \5 a) w$ A! p4 M; n3 I* y( g" I3 F. ]. o' D$ ^

1 {) h8 }# ?( I' C% Z结果为:

( n0 [( O7 X  x' q+ u9 T+ U/ [$ U1 O" t# w9 `/ {" v

none.gif

19.png (22.7 KB, 下载次数: 0)

2021-2-5 10:14 上传

@$ c  l/ |. Y4 @% [

& |0 G& {7 _+ H5 j* Y

) V) C0 F* v8 v$ [例3:与梯形法比较& J# ^8 g% w! j" ^* b7 p

" V' U. q! V5 U重新计算积分

' {2 `, c8 Y4 S$ P( q5 P3 B

none.gif

20.png (9.98 KB, 下载次数: 0)

2021-2-5 10:14 上传

3 l" X0 D4 H  y" L

3 Q" Q" z9 a  p, V- W3 z梯形法求解链接

数值求解:% l$ m5 i8 h: Y& t5 U* I5 X8 nf = @(x) cos(15*x);

S=integral(f,0,3*pi/2,'RelTol',1e-20)

* D: M+ H/ ^4 h$ \$ ~8 Y' Y' U4 F# b( k" H" g1 o

4 V* h! Y: p0 z  Z0 V% m结论:和梯形法相比,速度和精度明显提高。& R+ e- t) @, p/ @9 S( c$ w

. X+ ~# D9 S: q, q" c8 Q% H# j( @% b* c3 k9 m; f' ^/ p1 s6 n* R9 r

例4:大范围积分

! v; G7 G/ B1 Y0 J- p

! B  r) i0 o) l3 f2 o计算积分

9 e- p$ a' N+ s

none.gif

21.png (3.46 KB, 下载次数: 0)

2021-2-5 10:14 上传

9 x% P9 U- Q. {' ]2 N; e( R

) h0 w9 {; T. _  B# ]f = @(x)cos(15*x);

I1 = integral(f,0,100,'RelTol',1e-20)  %//数值解

syms x

I0 = int(cos(15*x),x,0,100); vpa(I0)   %//解析解

$ U( T6 t6 m. i( z* s) Y% {) C5 v1 c7 h& z! \7 b" R

/ p/ M7 s; e2 C( K+ ^% }8 L解析解: I 0 = − 0.066260130460443564274928241303306, k4 I2 k' o) P1 l. L% ?5 ~+ m

数值解: I 1 = − 0.066260130460282923303694246897066/ O$ x# z" H: s9 J3 i

4 K3 k# `3 J2 U+ P$ Oo0 E; n8 J( R0 B2 D" ~2 R* F

例5:广义积分的数值计算

4 H4 E3 E# T/ P, G" o  D计算

, n8 @( Z% T+ Q1 K$ h# ?% [% \

none.gif

22.png (2.39 KB, 下载次数: 0)

2021-2-5 10:14 上传

% |5 n6 G; T4 }" V

! `% o7 i- T/ U" l5 c* p: n* J, wf = @(x) exp(-x.^2);

I1 = integral(f,0,inf,'RelTol',1e-20)  %//数值解

syms x

I0 = int(exp(-x^2),0,inf); vpa(I0)     %//解析解

8 q7 u% e4 c+ E% ?

9 K" O7 b. O$ V. ^/ W

8 S, U0 \+ a# a8 @解析解: I 0 = 0.88622692545275801364908374167057

" o+ {# c  E4 k7 m数值解: I 1 = 0.88622692545275805198201624079957

- |1 V; W1 @1 c! y

H3 _' S$ j4 E( g+ e3 |3 y

2 W5 d2 p- c8 w8 J' N9 ]例6:含参函数数值积分" C3 q( q5 E+ m' @

/ {  n/ S7 w) g/ j% F9 Q% q

绘制积分函数

none.gif

24.png (1.01 KB, 下载次数: 0)

2021-2-5 10:14 上传

曲线( H. J* r1 _) _1 u9 h, t! @

none.gif

23.png (4.56 KB, 下载次数: 0)

2021-2-5 10:14 上传

# h! s$ z' u% Y  Y. a4 F& s% t

( C# v1 ~7 ]: h7 t: _2 fa = 0:0.1:4;

f = @(x)exp(-a*x.^2).*sin(a.^2*x);

I = integral(f,0,inf,'RelTol',1e-20,'ArrayValued',true);

plot(a,I),  xlabel('\alpha'),  ylabel('I(\alpha)')

2 g* `# [( w( w& t9 U

- @) M; n( l; G8 _. Q5 Z; o

5 H& n2 ~& r4 b

none.gif

25.jpg (20.36 KB, 下载次数: 0)

2021-2-5 10:14 上传

' T1 e7 w9 i2 }# @& _: @0 {; c  Y+ G

9 s4 k( S/ g6 B2 j: v

l' w2 p& q  P2 M  A/ B1 X

你可能感兴趣的:(matlab嵌套使用integral函数,matlab实现数值积分 【二】(integral函数))