*   >> Lezen Onderwijs artikelen >> education >> college and university

Romberg Numerieke integratie - Matlab Script

Romberg numerieke integratie gebruikt trapenzoidal intergratie de nauwkeurigheid van berekening van een gebied te vergroten. Het bouwt een matrix met behulp van de trapenzoidal regel dan strekt zich uit tot een nauwkeuriger antwoord te berekenen.

Het script heb ik gemaakt voor de Trapezium Regel is op de volgende link. Het script voor de Romberg integratie heeft de trpezoidal script gebouwd bij de berekening van de eerste kolom

>>> Trapezium Regel van numerieke integratie -.

Matlab Scripts

De eerste kolom wordt berekend op basis van de trapenzoidal regel voor integratie waar het aantal gebieden de functie is opgedeeld in stijgt met 2 telkens:

Row 1: n = 1, Rij 2: n = 2, Rij 3: n = 4, Rij 4: n = 8 ... 16 ... 32 ...

Wat de andere kolommen, worden deze berekend door de waarden van de kolom links.

R (i, j) = ((4 ^ j) -R (i, j-1) - R (i-1, j-1)) /((4 ^ j) -1)

R (1,1) = (4 * R (1,0) - R (0,0)) /(01/04)

= (4 (0,898904) - 0,888511) /3

= 0,902368

>> Romberg ('sin (x) /x', 1,3,4)

matrix =

0,888510987494519 0 0 0 0,898904207160100 0,902368613715294 0 0 0,901644861268860 0,902558412638446 0,902571065899989 0 0,902337806742469 0,902568788567005 0,902569480295576 0,902569455127252

ans =

0,902569455127252

nog voortdurend naar beneden, de meest nauwkeurige antwoord is rechtsonder een

Romberg Numerieke Integratie -.

Matlab Script

functie I = Romberg (f_str, a, b, n)% ROMBERG Romberg Regel integratie.% I = ROMBERG (f_str, A, B, N) geeft de Romberg integratie benadering% van de integraal van f ( x) van x = A naar x = B, n lagen, waarbij% f_str is de string representatie van f. Geeft ook de matrix wordt gebruikt om% berekenen van de inegral

matrix = nullen (n).

G = inline (f_str);

als (rem (n, 1) == 0) voor ii = 1: n = h (bis) /(2 ^ (ii-1)); matrix (ii, 1) = matrix (II, 1) + g (a)

KK = (a + h): h: (bh) matrix (ii, 1) = matrix (ii, 1) + 2 * g (kk); end

matrix (II, 1) = matrix (II, 1) + g (b); matrix (ii, 1) = matrix (II, 1) * h /2; endfor jj = 2: n voor ii = jj n matrix (ii, jj) = ((4 ^ (jj-1)) * matrix (ii, jj-1) -matrix (ii-1, jj-1)) /((4 ^ (jj-1)) - 1); endend

anders disp ('Aantal lagen nodig is om een ​​integer te zijn') endmatrix = matrixI = matrix (n, n);

Andere Matlab Scripts ik heb gemaakt zijn:

< p >>>> Simpson's Rule en Trapezium Regel van numerieke integratie - Matlab Scripts

>>> Lagrange Methode en Newton Verdeeld Difference Method - Matlab Sc

Page   <<       [1] [2] >>

Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.