Regla y de Simpson trapezoidal Estado de Integración Numérica calcula el área bajo una función al romper la función arriba en muchas áreas más pequeñas que son más fáciles de calcular
>> trapezoidal ('sin (x) /x', 1,3,8)
ans =
,902337806742469
I = ( ((3-1) /8) /2) [f
(1) 2 {f (1.25) + f (1,5) + f (1.75) + f
(2) + f (2.25) + f (2,5) + f (2,75)} + f
(3)]
= 0.125 [0,841471 + 2 (3,165097) +0.047040) guía
= 0.
902338
trapezoidal Regla para la integración numérica utilizando trapazoids para calcular el área bajo la función. Cada modelos trapazoid una línea recta entre dos puntos de la función y calcula el área bajo la línea.
>> simprule ('sin (x) /x', 1,3 , 8)
ans =
,902568788567005
En lugar de utilizar líneas lineales para modelar la función, la regla de Simpson calcula el área mediante el modelado de un polinomio a la función. Este polinomio es preciso para otros polinomios de grado 2 y 3.
I = (((3-1) /8) /3) [f
(1) 4 {f (1.25) + f (1,75 ) + f (2.25) + f (2,75)} + 2 {f (1,5) + f
(2) + f (2,5)} + f
(3)]
= (0.25 /3) [0.841471 +4 (1.806062) +2 (1.359035) +0.047040)
= 0.902569
Función I = trapezoidal (f_str, a, b, n) % regla trapezoidal trapezoidal integración.% I = TRAPEZOIDAL (F_STR, A, B, N) devuelve el Trapezoidal Regla aproximación% para la integral de f (x) de x = A a x = B, usando N subintervalos, donde% F_STR es la representación de cadena de f
I = 0;.
g = inline (f_str); h = (ba) /n;
i = i + g (a);
< p> para ii = (a + h): h: (bh) I = I + 2 * g (ii); finales
I = I + g (b); I = I * h /2 ;.
Función I = simprule (f_str, a, b, n) la integración de la regla% SIMPRULE Simpson% I = SIMPRULE (F_STR, A, B, n) Devuelve de Simpson aproximación regla% para la integral de f (x) desde x = a hasta x = B, usando N subintervalos, donde% F_STR es la representación de cadena de f.% se genera un error si N no es un entero par positivo .
I = 0; g = inline (f_str); h = (ba) /n;
if ((n> 0) && (rem (n, 2) == 0 )) i = i + g (a); para ii = (a + h): 2 * h: (bh) I = I + 4 * g (ii); para terminar kk = (a + 2 * h): 2 * h: (b-2 * h) I = I + 2 * g (kk); finales I = I + g (b);
I = I * h /3; lo demás disp ('valor incorrecto para N') end