|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 \" _) r l! M, `! v; \
目录, {# ~/ P: g5 l2 w% H& z
总述
* |* |+ L5 m, q函数调用格式4 L3 a9 c; F& M) I4 b! W$ K
应用举例
8 a8 [% D4 m% u, H; X例1:梯形法求积分7 `2 J$ W l& I- e" R, ?5 K
例2:不同步长对积分结果的影响
) _$ h' y( ~+ ~" M( y& E
! j' v$ E/ z/ a5 E总述
6 R4 Y7 y% e+ [# v, A- `- S" ?1 K, }. W
数值积分问题是传统数值分析课程中的重要内容。如果被积函数的数学表达式未知,则需要由实测数据通过梯形算法求出积分的近似值。本文将介绍被积函数的数学表达式未知时数值积分问题的求解方法,即已知数据点求积分。& L8 x$ P0 ?2 T/ F. n# {
; p T4 b" T+ t0 Y2 M1 r* q' G, ]7 a
$ {4 a) O# C- |8 T' n* x/ z
* H# @ }5 W, \0 B. V% F/ Z% J2 R: g4 `3 G: @
函数调用格式
1 I5 N& P0 {4 g1 m
& S$ Q! `$ O8 Z- S = trapz(x, y);! L3 z& x0 c' A! ^2 g3 v
6 ?7 I8 C3 y0 d% F3 a2 k9 L5 w& y
9 x+ C, m5 z" }: a& z6 K7 l- D% g应用举例- c# z4 `/ \& C1 i+ B
* B1 ~3 m7 h! c0 R2 J5 `8 L例1:梯形法求积分1 O$ n: {$ S. R( Z- t
$ L& [! l: h$ c: V: d$ n( J
) R/ @+ E6 A! h- D" a* s" z C: M4 q% L" d; Z+ O* `
- x = [0:pi/30:pi]';
- y = [sin(x) cos(x) sin(x/2)];
- S = trapz(x,y)- G! i9 |7 m9 v) g4 w
1 v. }- J9 \2 V0 C3 ~4 y9 S
4 T) b; D1 x) a( K8 _
结果为:S = [1.9982 0.0000 1.9995]
7 ~9 ~4 a* }9 T) @% c) `$ Y! \0 ~1 _6 N5 L/ N
由于选择的步距较大,为
, 故得出的结果有较大的误差。其实可以将积分问题与样条插值技术相结合,给出 一 个能精确计算积分的MATLAB函数。(待补充)+ R4 M0 w- G2 ?! v1 z. R
! t' N$ S: A9 U9 D0 |$ k' J例2:不同步长对积分结果的影响
' W9 g! T' q$ A* ~- r; u3 H题目: 用定步长法求解积分
,并讨论不同步长对积分值的影响。
! v& c$ D0 Z! T/ N% Z" Q
) Y( I+ h0 w: h2 S) L8 w- 首先,绘制被积函数的图像:) t* Q) z, s$ r3 j) `
4 W- s+ f3 M7 O1 s. O) A
n2 H! p! n# H1 P- x=[0:0.01:3*pi/2, 3*pi/2]; % //这样赋值能确保 3*pi/2 点被包含在内
- y=cos(15*x); plot(x,y)
9 E: u: m3 ?1 U- K2 @& y0 h" |1 g
/ K) v1 x* f w. }5 Q6 |' b
# l5 ^: n" Z/ i* k. {
8 A) d; s9 G% g% B( `. d
, r( f6 i. P2 c0 v' F% \1 c* p5 n由图像观察出在求解区域内被积函数有很强的振荡。
& |. b. Z* s. \4 Y/ L) g
* Q/ b* d/ Z0 x+ V/ H/ I" ^- 对不同的步距 h = 0.1 , 0.01 , 0.001 , 0.0001 , 0.00001 , 0.000001 h= 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001 h=0.1,0.01,0.001,0.0001,0.00001,0.000001 ,可以用下面的语句求出采用不同步长的积分近似结果。
1 I2 {: z: _3 n3 e3 t
- syms x, A=int(cos(15*x),0,3*pi/2) % //求取理论值为1/15
- h0=[0.1,0.01,0.001,0.0001,0.00001,0.000001]; v=[];
- for h=h0
- x = [0:h:3*pi/2, 3*pi/2]; y=cos(15*x);
- I = trapz(x,y);
- v = [v; h,I,A-I];
- end }( l- r% K {9 c$ o/ w: B
1 i( ^, @( U8 W, ] m4 }, A
# S& x5 Q$ \# {( Z: v; K [得出结果如下:
9 h2 W7 A1 m5 w8 u3 C+ s
2 ?7 d$ y/ X- K! l9 U
% q9 {: H5 \: F& _+ A0 N! x) L: T! ~3 x0 k9 w
可见,随着步距 h h h的减小,计算精度逐渐增加。' w1 R3 W9 C+ K$ e+ s4 z8 M
|
|