*   >> Lecture Éducation Articles >> education >> collégial et universitaire

Romberg intégration numérique - Matlab Script

intégration numérique

Romberg utilise intergration trapenzoidal pour augmenter la précision du calcul d'une région. Il construit une matrice en utilisant la règle de trapenzoidal étend alors de calculer une réponse plus précise.

Le script i ai fait pour la méthode des trapèzes est au lien suivant. Le script pour l'intégration de Romberg a le script trpezoidal intégré dans le calcul de la première colonne

>>> trapézoïdale règle d'intégration numérique -.

Scripts MATLAB

La première colonne est calculée en utilisant la règle de trapenzoidal pour l'intégration où le nombre de zones de la fonction est divisé en augmentation par 2 à chaque fois:

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

En ce qui concerne les autres colonnes, elles sont calculées en utilisant les valeurs de la colonne vers la gauche.


R (i, j) = ((j ^ 4) -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)

= matrice

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

ans =

0,902569455127252

continueing bas, la réponse la plus précise est celui en bas à droite

Romberg intégration numérique -.

Matlab Script

fonction I = Romberg (f_str, a, b, n)% l'intégration ROMBERG Romberg règle.% I = ROMBERG (F_STR, A, B, N) retourne le Romberg intégration rapprochement% pour l'intégrale de f ( x) de x = x = A à B, à n couches, où% F_STR est la représentation de chaîne de f. Affiche également la matrice utilisée pour calculer le% inegral

matrice = zéros (n);.

G = inline (f_str);

Si (rem (n, 1) == 0) pour ii = 1: n h = (ba) /(2 ^ (ii-1)); matrice (ii, 1) = matrice (ii, 1) + g (a);

pour kk = (a + h): h: (bh) matrice (ii, 1) = matrice (ii, 1) + 2 * g (kk); End of

matrice (ii, 1) = matrice (ii, 1) + g (b); matrice (ii, 1) = matrice (ii, 1) * h /2; endfor jj = 2: n pour ii = JJ: n matrice (ii, jj) = ((4 ^ (JJ-1)) * matrice (ii, jj-1) -MATRIX (ii-1, JJ-1)) /((4 ^ (JJ-1)) - 1); endend

disp autre ('de nombre de couches requises pour être un Integer') endmatrix = matrixI = matrice (n, n);

Autres scripts MATLAB je l'ai créés comprennent:

< p >>>>

Page   <<       [1] [2] >>

Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.