*   >> Læs Uddannelse artikler >> education >> college and university

Simpsons Regel og trapezreglen af ​​numerisk integration - Matlab Scripts

Simpsons regel og trapezreglen af ​​numerisk integration beregner arealet under en funktion ved at bryde den funktion op i mange mindre områder, som er lettere at beregne.

trapezreglen

>> trapezformet ( "sin (x) /x ', 1,3,8)

ans =

,902337806742469

I = (((3-1) /8) /2 ) [f

(1) +2 {f (1,25) + f (1,5) + f (1,75) + f

(2) + f (2,25) + f (2,5) + f (2,75)} + f

(3)]

= 0,125 [0,841471 + 2 (3,165097) +0,047040)

= 0,902338

trapezreglen til numerisk integration ved hjælp trapazoids til at beregne arealet under funktionen.

Hver trapazoid modeller en lineær linje mellem to punkter på funktionen og beregner arealet under linjen.

Simpsons regel

>> simprule ('sin (x) /x', 1,3 , 8)

ans =

,902568788567005

I stedet for at bruge lineære linjer til at modellere den funktion, Simpsons regel beregner området ved at modellere et polynomium til funktionen. Dette polynomium er præcis til andre polynomier af grad 2 og 3.


I = (((3-1) /8) /3) [f

(1) 4 {f (1,25) + f (1,75 ) + f (2,25) + f (2,75)} + 2 {f (1,5) + f

(2) + f (2,5)} + f

(3)]

= (0,25 /3) [0,841471 +4 (1.806062) +2 (1.359035) +0.047040)

= 0.902569

trapezreglen Matlab script

funktionen I = trapezformet (f_str, a, b, n) % trapezformet trapezreglen integration.% I = trapezformet (f_str, A, B, N) returnerer trapezreglen tilnærmelse% for integralet af f (x) fra x = A til x = B, ved hjælp af N underintervaller, hvor% f_str er strengen repræsentation af f

I = 0; g.

= inline (f_str), h = (ba) /n,

I = I + g (a);

< p> for ii = (a + h): h: (bh) I = I + 2 * g (ii) afslutning

I = I + g (b) I = I * h /2 ;.

Simpsons Regel Matlab Script

funktion I = simprule (f_str, a, b, n)% SIMPRULE Simpsons regel integration% I = SIMPRULE (f_str, A, B, N) returnerer Simpson regel tilnærmelse% for integralet af f (x) fra x = A til x = B, ved hjælp af N underintervaller, hvor% f_str er den streng repræsentation af f.% En fejl genereres, hvis N er ikke en positiv, selv heltal .


I = 0; g = inline (f_str), h = (ba) /n,

if ((n> 0) && (rem (n, 2) == 0 )) I = I + g (a); for ii = (a + h): 2 * h: (bh) I = I + 4 * g (ii); ende for kk = (a + 2 * h): 2 * h: (b-2 * h) I = I + 2 * g (kk); ende I = I + g (b)

I = I * h /3, ellers disp ('Forkert værdi for N') end

Andre Matlab Scripts jeg har oprettet Medtag:

>>>

Page   <<       [1] [2] >>

Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.