Romberg numeerinen integrointi käyttää trapenzoidal integraatiota lisätä tarkkuutta laskettaessa alueen. Se rakentaa matriisi trapenzoidal sääntö sitten ulottuu laskea tarkempi vastaus.
käsikirjoitus olen tehty puolisuunnikassääntöä on seuraavan linkin kautta. Käsikirjoitus Romberg yhdentymisen on trpezoidal script rakennettu laskettaessa ensimmäisessä sarakkeessa.
>>> trapetsoidisäännöllä Numerical Integration - Matlab Käsikirjoitukset
Ensimmäinen sarake lasketaan trapenzoidal sääntö integraatio jossa useilla aloilla toiminto on hajotetaan kasvaa 2 kerta:
1. krs: n = 1, 2. krs: n = 2, 3. krs: n = 4, 4. krs: n = 8 ... 16 ... 32 ...
Kuten muut sarakkeet, ne lasketaan käyttämällä arvoja sarakkeen vasemmalle.
R (i, j) = ((4 ^ j) R (i, j-1) - R (i-1, j-1)) /((4 ^ j) -1) B
R (1,1) = (4 * R (1,0) - R (0,0)) /(4-1) B
= (4 (0,898904) - 0,888511) /3
= 0,902368
>> Romberg ('sin (x) /x', 1,3,4)
matriisi =
,888510987494519 0 0 0 ,898904207160100 0,902368613715294 0 0 ,901644861268860 +0,902558412638446 0,902571065899989 0 0,902337806742469 ,902568788567005 0,902569480295576 ,902569455127252
ans =
,902569455127252
Continueing alas, tarkin vastaus on oikeassa alareunassa yksi.
funktio I = Romberg (f_str, a, b, n)% ROMBERG Rombergin sääntö yhdentymistä.% I = ROMBERG (F_STR, A, B, N) palauttaa Rombergin Integration approksimaatio% ja kiinteä f ( x) X = x = B, N kerrosta, jossa% F_STR on merkkijono esitys f. Näyttää myös matriisi käytetty% laskea inegral.
matriisi = nollaa (n); g = inline (f_str);
jos (rem (n, 1) == 0) varten ii = 1: n t = (ba) /(2 ^ (ii-1)); matriisi (ii, 1) = matriisin (ii, 1) + g ();
KK = (a + h): h: (bh) matriisi (ii, 1) = matriisin (ii, 1) + 2 * g (kk); end
matriisin (ii, 1) = matriisin (ii, 1) + g (b); matriisi (ii, 1) = matriisin (ii, 1) * h /2; EndFor jj = 2: n ja II = JJ: n matriisi (ii, jj) = ((4 ^ (JJ-1)) * matriisi (ii, jj-1) -matriisi (ii-1, JJ-1)) /((4 ^ (jj-1)) - 1); endend
muu DISP (kerrosten lukumäärä tarvitse olla kokonaisluku ") endmatrix = matrixI = matriisi (n, n);
< s >>>> Simpsonin sääntö ja trapetsoidisäännöllä Numerical Integration - Matlab Käsikirjoitukset
>>> Lagrangen menetelmä ja Newton Divided Differenssimenetelmät - Matlab