*   >> Lese Utdanning Artikler >> education >> college and university

Romberg numerisk integrasjon - Matlab Script

Romberg numerisk integrasjon bruker trapenzoidal integrasjon for å øke nøyaktigheten ved beregning av et område. Det bygger seg opp en matrise ved hjelp av trapenzoidal regelen da strekker til å beregne et mer nøyaktig svar.

Skriptet jeg har gjort for trapesmetoden er på følgende link. Manuset til Romberg integrasjon har trpezoidal skriptet i bygget ved beregning første kolonne

>>> trapesregelen av numerisk integrasjon -.

Matlab-skript

Den første kolonnen beregnes ved hjelp av trapenzoidal regelen for integrasjon der antallet områder funksjonen er brutt opp i øker med 2 hver gang:

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

Som for de andre kolonner, de er beregnet ved hjelp av verdiene i kolonnen til venstre.


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)) /(4-1)

= (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

continueing ned, er den mest nøyaktige svaret nederst til høyre en

Romberg numerisk integrasjon -.

Matlab Script

funksjon I = Romberg (f_str, a, b, n)% Romberg Romberg Rule integrering.% I = Romberg (F_STR, A, B, N) returnerer Romberg integrasjon tilnærming% for integralet av f ( x) fra x = a til x = B, til n lag, der% F_STR er den strengrepresentasjon av f. Også viser matrisen brukes til% beregne inegral

matrix = zeros (n);.

G = inline (f_str);

if (rem (n, 1) == 0) for ii = 1: n h = (ba) /(2 ^ (ii-1)); matrise (ii, 1) = matrise (ii, 1) + g (a);

for kk = (a + h): h: (bh) matrise (ii, 1) = matrise (ii, 1) + 2 * g (kk); ende

matrise (ii, 1) = matrix (ii, 1) + g (b); matrise (ii, 1) = matrise (ii, 1) * h /2; EndFor jj = 2: n for ii = jj: n matrise (ii, jj) = ((4 ^ (jj-1)) * matrise (ii, jj-1) -matrix (ii-en, jj-1)) /((4 ^ (jj-1)) - 1); Sluttslutt

annet disp ('antall lag som kreves for å være en Integer') endmatrix = matrixI = matrise (n, n);

Andre Matlab-skript jeg har laget er:

< p >>>> Simpsons regel og trapesregelen av numerisk integrasjon - Matlab-skript

>>> Lagrange metode og Newton Divided Differenc

Page   <<       [1] [2] >>

Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.