Title | Serie Taylor JAVA matlab |
---|---|
Author | Nelson Argel |
Course | Métodos numéricos |
Institution | Universidad de Córdoba Colombia |
Pages | 4 |
File Size | 163.3 KB |
File Type | |
Total Downloads | 92 |
Total Views | 141 |
métodos de taylor en ejecución por matlab con codigos...
La serie de Taylor Si la función f y sus primeras n+1 derivadas son continuas, en un intervalo que contiene a y x, entonces el valor de la función esta dado por:
f ( x ) = f (a ) + f ' (a )( x − a ) +
n f ' ' ( a) f ' ' ' ( a) f ( a) 2 3 ( x − a) + ( x − a) + ... + ( x − a) n n! 2! 3!
Con frecuencia es conveniente simplificar la serie de Taylor definiendo un paso h = xi+1 - xi expresando la serie de Taylor como: n
f (xi +1 ) = f ( xi ) + f ' ( xi )h +
f ' ' (xi ) 2 f ' ' ' ( xi ) 3 f ( xi ) n h + h + ... + h 2! 3! n!
Uso de la expansión en serie de Taylor para aproximar una función con un número infinito de derivadas. Utilizar los términos de la serie de Taylor con n= 0 hasta 6 para aproximar la función f(x) = cos(x) en xi+1 = /3 y sus derivadas en xi = /4. Esto significa que h = /3- /4 = /12, los valores de las derivadas y el error de aproximación se presenta en la siguiente tabla. Orden n 0 1 2 3 4 5 6
fn(x) cos(x) -sen(x) -cos(x) sen(x) cos(x) -sen(x) -cos(x)
fn( /4) 0.707106781 0.521986659 0.497754491 0.499869147 0.500007551 0.500000304 0.499999988
error (%) -41.4 -4.4 0.449 2.62x10-2 -1.51x10-3 -6.08x10-5 2.40x10-6
Note, que a medida que se introducen más términos, la aproximación se vuelve más exacta y el porcentaje de error disminuye. En general podemos tener una aproximación polinomial de la función coseno, con sus derivadas en cero dada por Orden n 0 1 2 3 4 5 6 7 8 9
fn(x) cos(x) -sen(x) -cos(x) sen(x) cos(x) -sen(x) -cos(x) sen(x) cos(x) -sen(x)
fn() 1 0 -1 0 1 0 -1 0 1 0
10
-cos(x)
-1
La aproximación polinomial final queda:
1 1 1 1 1 10 f ( x) = 1 − x 2 + x 4 − x6 + x8 − x + ... 2 4! 6! 8! 10! La implementación en Java es: class funciones { public static double coseno(double x) { int i; double s = 0; int signo = 1; for(i=0; i...