*   >> läser Utbildning artiklar >> education >> college and university

Romberg Numerisk integration - Matlab Script

Romberg numerisk integration använder trapenzoidal integrationsprojektet att öka noggrannheten för att beräkna ett område. Det bygger upp en matris med trapenzoidal regeln sedan sträcker sig för att beräkna en mer exakt svar. Omdömen

Skriptet jag har gjort för trapetsregeln är på följande länk. Skriptet för Romberg integration har trpezoidal manus inbyggd vid beräkningen av första kolumnen Omdömen

>>> trapezoidregeln för numerisk Integration -.

Matlab skript Omdömen

Den första kolumnen beräknas enligt trapenzoidal regeln för integration där antalet områden funktionen bryts upp i ökar med 2 varje gång:

Varv 1: n = 1, Varv 2: n = 2, Varv 3: n = 4, rad 4: n = 8 ... 16 ... 32 ... Omdömen

När det gäller de övriga kolumner, har beräknats med hjälp av värdena i kolumnen till vänster.

Omdömen

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

R (1,1) = (4 * R (1,0) - R (0,0)) /(4-1) Review

= (4 (0,898904) - 0,888511) /3 Omdömen

= 0,902368

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

matris =

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 =

,902569455127252

continueing ner, är den mest exakta svaret det nedre högra en

Romberg Numerisk integration -.

Matlab skrivar

funktionen I = Romberg (f_str, a, b, n)% Romberg Romberg Regel integrering.% I = Romberg (F_STR, A, B, N) returnerar Romberg Integrations approximationen% för integralen av f ( x) från x = A till x = B, till n skikt, där% F_STR är strängbeteckningen för f. Visar också den matris som används till% beräkna inegral Omdömen

matrix = nollor (n),.

G = inline (f_str), Omdömen

om (rem (n, 1) == 0) för II = 1: n h = (ba) /(2 ^ (II-1)); matris (II, 1) = matris (ii, 1) + g (a);

för kk = (a + h): h: (bh) matris (II, 1) = matris (II, 1) + 2 * g (kk); avsluta

matris (ii, 1) = matris (ii, 1) + g (b); matris (II, 1) = matris (ii, 1) * h /2; EndFor jj = 2: n för ii = jj: n matris (II, jj) = ((4 ^ (jj-1)) * matris (II, JJ-1) -matris (II-1, jj-1)) /((4 ^ (jj-1)) - 1); endend

annat disp ('Antal skikt som krävs för att vara en Integer') endmatrix = matrixI = matrix (n, n); Omdömen

Andra Matlab skript jag har skapat inkluderar:

< p >>>> Simpsons regel och trapetsregeln för numerisk integration - Matlab skript

Page   <<       [1] [2] >>

Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.