*   >> Leitura Educação Artigos >> education >> colégio e universidade

Romberg Integração Numérica - Matlab Script

Romberg integração numérica usa intergration trapenzoidal para aumentar a precisão do cálculo de uma área. Constrói-se uma matriz utilizando a regra trapenzoidal seguida, estende-se a calcular uma resposta mais precisa.

O script que eu fiz para a regra trapezoidal é no seguinte link. O roteiro para a integração de Romberg tem o roteiro trpezoidal incorporado no cálculo da primeira coluna

>>> trapezoidal Estado de Integração Numérica -.

Scripts Matlab

A primeira coluna é calculada usando a regra para trapenzoidal integração, onde o número de áreas a função é dividida em 2 aumenta em cada tempo:

Linha 1: n = 1, linha 2: n = 2, Linha 3: n = 4, linha 4: n = 8 ... 16 ... 32 ...

Tal como para as outras colunas, os dados são calculados utilizando os valores da coluna à esquerda.


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)

= matriz

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 para baixo, a resposta mais precisa é o canto inferior direito

Romberg Integração Numérica -.

Matlab Script

função I = romberg (f_str, a, b, n)% de integração ROMBERG Regra Romberg.% I = ROMBERG (F_STR, A, B, N) retorna o Romberg Integração aproximação% para a integral de f ( x) de x = A = B para x, para as camadas n, onde% F_STR é a representação da cadeia de f. Também exibe a matriz utilizada para calcular a% inegral

matriz = zeros (n);.

G = inline (f_str);

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

para kk = (a + h): h: (bh) matriz (ii, 1) = matriz (ii, 1) * + 2 g (kk); acabar

matriz (ii, 1) = matriz (ii, 1) + g (b); matriz (ii, 1) = matriz (ii, 1) * h /2; ENDFOR JJ = 2: n = II para JJ: N matriz (II, JJ) = ((4 ^ (1-jj)) * matriz (II, JJ-1) -matrix (II-1, JJ-1)) /((^ 4 (JJ-1)) - 1); endend

else disp ('número de camadas necessárias para ser um Integer') endmatrix = matrixI = matriz (n, n);

Outros Scripts Matlab eu criei incluem:

< p >>>> Estado de Integração Numérica Regra de Simpson e trapezoidal - Scripts

Page   <<       [1] [2] >>

Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.