Derivacion e integracion
Upcoming SlideShare
Loading in...5
×
 

Derivacion e integracion

on

  • 4,585 views

 

Statistics

Views

Total Views
4,585
Views on SlideShare
4,585
Embed Views
0

Actions

Likes
0
Downloads
112
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Derivacion e integracion Derivacion e integracion Document Transcript

  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICA Objetivos El alumno conocerá y aplicará diversas técnicas de derivación e integración numérica. Al final de esta práctica el alumno podrá: 1. Resolver ejercicios que contengan derivadas e integrales, por medio de métodos numéricos, tales como método de Taylor y Simpson respectivamente. 2. Implementar dichos métodos numéricos en lenguaje orientado a objetos Antecedentes 1. Haber elaborado programas orientados a objetos en lenguaje Java con aplicación numérica. 2. Manejar soluciones numéricas de derivadas e integrales Introducción Derivación numéricaPara diferenciar numéricamente funciones que están definidas mediante datos tabulados omediante curvas determinadas en forma experimental se usan diferentes procedimientos.Un método consiste en aproximar la función en la vecindad del punto en que se desea laderivada, mediante una parábola de segundo, tercer o mayor grado, y utilizar entonces laderivada de la parábola en ese punto como la derivada aproximada de la función; estemétodo podría ser el de la Serie de Taylor.La serie de Taylor para una función y = f(x) en xi + ∆x , desarrollada con respecto al puntoxi es y i (∆x) 2 y i (∆x) 3 y ( xi + ∆x) = yi + y i (∆x) + + + ... (1) 2! 3!en donde yi es la ordenada que corresponde a xi y ( xi + ∆x) se encuentra en la región deconvergencia. La función para ( xi − ∆x) está dada en forma similar por: y i (∆x) 2 y i (∆x) 3 y ( xi − ∆x) = yi − y i (∆x) + − + ... (2) 2! 3!Utilizando solamente los tres primeros términos de cada desarrollo, se obtiene unaexpresión para y i restando la ec. (2) de la ec. (1), y ( xi + ∆x) − y ( xi − ∆x) y i = (3) 2∆xElaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICADiferencias Centrales, Hacia Adelante y Hacia AtrásSi se denotan los puntos uniformemente espaciados a la derecha de xi como xi+1, xi+2,… ylos puntos a la izquierda de xi como xi-1, xi-2,...; y si se identifican las ordenadascorrespondientes como yi+1, yi+2, yi-1, yi-2, respectivamente, la ec. (3) se puede escribir: yi +1 − yi −1 y i = (4) 2∆xLa ec. (4) se denomina la primera aproximación, por Diferencias Centrales de y’, para x.La aproximación representa gráficamente la pendiente de la recta discontinua mostrada enla figura de arriba. La derivada real se representa mediante la línea sólida dibujada comotangente a la curva en xi.Si sumamos las ecuaciones (1) y (2), y utilizamos la notación descrita previamente, sepuede escribir la siguiente expresión para la segunda derivada: y − 2 yi + yi −1 y i = i +1 (5) (∆x) 2La ec. (5) es la primera aproximación, por Diferencias Centrales, de la segunda derivada dela función en xi. Esta expresión se puede interpretar gráficamente como la pendiente de latangente a la curva en xi+1/2 menos la pendiente de la tangente a la curva en xi-1/2 divididaentre ∆x , cuando las pendientes de las tangentes están aproximadas mediante lasexpresiones: y − yi y i + 1 = i +1 2 ∆x (6) y − yi −1 y i − 1 = i 2 ∆xElaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICAes decir, yi +1 − yi yi − yi −1 − y = ∆x ∆x = yi +1 − 2 yi + yi −1 (7) ∆x (∆x) 2Se ha demostrado que las expresiones de Diferencias Centrales para las diversas derivadasencierran valores de la función en ambos lados del valor x en que se desea conocer laderivada en cuestión. Se pueden obtener fácilmente expresiones para las derivadas,totalmente en términos de valores de la función en xi y puntos a la derecha de xi. Éstas seconocen como expresiones de Diferencias Finitas Hacia Adelante. En forma similar, sepueden obtener expresiones para las derivadas que estén solamente en términos de valoresde la función en xi y puntos a la izquierda de xi. Éstas se conocen como expresiones deDiferencias Finitas Hacia Atrás.EJEMPLOUsar aproximaciones de Diferencias Finitas Hacia Adelante, Hacia Atrás y Centradas paraestimar la primera derivada de: f ( x) = −0.1x 4 − 0.15 x 3 − 0.5 x 2 − 0.25 x + 1.2 en x = 0.5Utilizando un ∆x de 0.5.Repetir los cálculos usando ∆x = 0.25.Nótese que la derivada se puede calcular directamente como:f’(x) = -0.4x3 - 0.45x2 - 1.0x - 0.25y evaluando tenemos: f’(0.5) = -0.9125SOLUCIÓN:Para ∆x = 0.5 se usa la función para determinar: Xi-1 = 0.0 Yi-1 = 1.200 Xi = 0.5 Yi = 0.925 Xi+1 = 1.0 Yi+1 = 0.200Estos datos se utilizan para calcular:la Diferencia Hacia Adelante: 0.2 − 0.925 y (0.5) ≅ = −1.45 0.5la Diferencia Dividida Hacia Atrás: 0.925 − 1.2 y (0.5) ≅ = −0.55 0. 5Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICAy la Diferencia Dividida Central: 0.2 − 1.2 y (0.5) ≅ = −1.0 1.0Para ∆x = 0.25, los datos son: Xi-1 = 0.25 Yi-1 = 1.10351563 Xi = 0.50 Yi = 0.92500000 Xi+1 = 0.75 Yi+1 = 0.63632813Por lo que la Diferencia Dividida Hacia Adelante: 0.63632813 − 0.925 y (0.5) ≅ = −1.15468748 0.25la Diferencia Dividida Hacia Atrás: 0.925 − 1.10351563 y (0.5) ≅ = −0.71406252 0.25y la Diferencia Dividida Central: 0.63632813 − 1.10351563 y (0.5) ≅ = −0.934375 0.5Para los dos ∆x , las aproximaciones por Diferencias Centrales son más exactas que lasDiferencias Divididas Hacia Adelante o las Diferencias Divididas Hacia Atrás.Codificando este método en Java, se tiene:public class Derivacion{ double x; double deltaX; double haciaAdelante; double haciaAtras; double centradas; public static void main(String args[]){ try{ Redondear r = new Redondear(); Derivacion d = new Derivacion(); d.x = Double.parseDouble(args[0]); d.deltaX = Double.parseDouble(args[1]); d.haciaAdelante = (d.funcion(r.redondeo(d.x+d.deltaX,2))- d.funcion(d.x))/(d.deltaX); System.out.println(“La derivada de “+d.x+” hacia adelante es: “+d.haciaAdelante); d.haciaAtras = (d.funcion(d.x)-d.funcion(r.redondeo(d.x- d.deltaX,2)))/d.deltaX; System.out.println(“La derivada de “+d.x+” hacia atras es :”+d.haciaAtras);Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICA d.centradas = (d.funcion(r.redondeo(d.x+d.deltaX,2))- d.funcion(r.redondeo(d.x-d.deltaX,2)))/(2*d.deltaX); System.out.println(“La derivada de “+d.x+” en diferencias centradas es: “+d.centradas); } catch(ArrayIndexOutOfBoundsException aioobe){ System.out.println(“ERROR!!! Faltan parametros”); System.out.println(“Sintaxis: java Derivacion valor_inicial incremento”); } } public double funcion(double x){ double f; f = -0.1*Math.pow(x,4)-0.15*Math.pow(x,3)-0.5*Math.pow(x,2)-0.25*x+1.2; return f; }}Como se puede observar, este código implementa las ecuaciones para las diferencias haciaadelante, hacia atrás, y centradas. Recibe como parámetros el punto en el que se deseacalcular la derivada, y el ∆x deseado. Se tiene un método que implementa la función de lacual se desea obtener la derivada.Una de las características principales de este código es que se utiliza un objeto de la claseRedondear, la cual es utilizada debido a que en Java, como en otros lenguajes, tieneerrores de redondeo y aritmética de computadora. Por ejemplo, se puede dar el caso que sise resta 15 a 15.1, el resultado es 0.0999999999999999999; de aquí el uso de dicha claseayuda a hacer redondeos para tener valores útiles en estos cálculos.El código de Redondear es:import java.math.*;public class Redondear{ public double redondeo(double resultado, int redondeo){ BigDecimal bd=new BigDecimal( Double.toString(resultado)).setScale(redondeo,BigDecimal.ROUND_HALF _UP) ; return bd.doubleValue(); }}Este código crea un objeto de la clase BigDecimal, que ayuda a hacer el redondeo. Seutiliza el método setScale(), que recibe como parámetros el número de decimales a los quese redondeará, y un factor, que en este caso, para evitar equivocaciones, se usaROUND_HALF_UP.Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICA Integración numéricaEl principio de los métodos de integración numérica consiste en ajustar un polinomio a unconjunto de puntos y luego integrarlo. Al realizar dichas integrales obtenemos, entre otras,las reglas de trapecio y de Simpson las cuales dan lugar a reglas de integración compuestasque buscan que el error sea cada vez menor. 1Regla de Simpson de 3 1La regla de Simpson de o simplemente regla de Simpson, consiste en aproximar la curva 3con polinomios de grado 2, es decir, con parábolas. Omitiendo la deducción, el resultado es N −1 N −2 H SN = y0 + 4 yi + 2 yi + y N 3 i =1, 3, 5,... i = 2 , 4 , 6 ,..La primera sumatoria es para aquellas i’s que sean impares. La segunda es para las i’s quesean pares. Dado que para obtener la ecuación de una parábola se requieren 3 puntos, senecesitan 2 particiones, por lo cual la N debe ser par. 3Regla de Simpson de 8La regla de Simpson de 8 consiste en aproximar la función mediante una cúbica: 3 N −1 N −2 3H S3 = y0 + 2 yi + 3 yi + y N 8 N 3 i = 3, 6 , 9 ,.. i ≠ múltiplos de 3Esta regla es más complicada. La primera sumatoria sólo incluye aquellas i’s que seanmúltiplos de 3. La segunda el resto, es decir, las i’s que no sean múltiplos de 3. Entre las 2cubren desde 1 hasta N-1. Para una cúbica se requieren 4 puntos, por lo cual se utilizan 3intervalos. Por esta razón N debe ser un múltiplo de 3.Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICAEjemplo de regla de Simpson 1 4dxCalcularla siguiente integral con las reglas anteriores. =π 0 1+ x2Para N=2 HS 2 = ( y 0 + 4 y1 + y 2 ) 3 b − a 1− 0H está dada por H = = = 0.5 N 2 H 0.5 0.5(18.8) 9.4Sustituyendo S 2 = ( f (0) + 4 f (0.5) + f (1)) = (4 + 4(3.2) + (2)) = = 3 3 3 3∴ S 2 = 3.1333333Para N=4 H 3 2S4 = y0 + 4 yi + 2 yi + y 4 3 i =1, 3, 5,... i = 2 , 4 , 6 ,.. HS4 = ( y0 + 4( y1 + y3 ) + 2 y 2 + y 4 ) 3 b − a 1− 0H está dada por H = = = 0.25 N 4Sustituyendo HS 4 = ( f (0) + 4( f (0.25) + f (0.75) ) + 2 f (0.5) + f (1) = 3 0.25 0.25(37.6988) 9.4247 = (4 + 4(3.7647 + 2.56) + 2(3.2) + (2)) = = 3 3 3∴ S 4 = 3.141566Regla de Simpson 3 8Para N=3 3H 0 1S3 = y0 + 2 yi + 3 yi + y3 8 3 8 i = 3, 6 , 9 ,.. i ≠ multiplos de 3 3HS3 = ( y0 + 3( y1 + y 2 ) ) + y3 ) 8 3 8 b − a 1− 0 1H está dada por H = = = = 0.33333 N 3 3Sustituyendo 3 1 3 18 36 3 1632S3 = 3 8 3 ( f (0) + 3( f ( 1 ) + f ( 2 )) + f (1)) = 24 3 3 4+3 + 5 13 + 2) = 24 65 8 204S3 = = 3.133461 8 3 65Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICAPara N=6 3 4 3HS3 = y0 + 2 yi + 3 yi + y6 8 6 8 i =3, 6 , 9 ,.. i ≠ multiplos de 3 3HS3 = ( y0 + 2( y3 ) + 3( y1 + y 2 + y 4 + y5 ) + y6 ) 8 6 8 b − a 1− 0 1H está dada por H = = = = 0.1666666 N 6 6Sustituyendo 3 1S3 = 6 8 6 ( f (0) + 2( f ( 6 ) ) + 3( f ( 1 ) + f ( 6 ) + f ( 6 ) + f ( 5 ) ) + f (1) ) 3 6 2 4 6 8 3 16 144 18 36 144 3 = 4+2 +3 + + + +2 = (50.265334) = 3.141583375 48 5 37 5 13 61 48∴ S3 = 3.141583375 6 8Codificando el método de Simpson 1 3 , se tiene que:public class SimpsonUnTercio{ double limInf; double limSup; int n; double h; double integral; public static void main (String args[]){ LeeUnDouble lud = new LeeUnDouble(); SimpsonUnTercio sut=new SimpsonUnTercio(); //Empezamos a obtener datos: //Obtenemos el limite inferior System.out.println(“Dame el valor del limite inferior: “); lud.leeNumero(); sut.limInf=lud.num; //Obtenemos el limite superior System.out.println(“Dame el valor del limite superior: “); lud.leeNumero(); sut.limSup=lud.num; //Obtenemos el valor de N System.out.println(“Dame el valor de N: “); lud.leeNumero(); sut.n=(int)lud.num; //cast sut.h=(sut.limSup-sut.limInf)/sut.n; sut.integral=(sut.h/3)*(sut.funcion(sut.limInf)+(4*sut.sumaImpares( sut.limInf,sut.h,sut.n))+(2*sut.sumaPares(sut.limInf,sut.h,sut.n))+ sut.funcion(sut.limSup));Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICA System.out.println(“El resultado de la integral es :”+sut.integral); } public double sumaImpares(double inf, double H, double N){ double suma=0; for(int i=1; i<=(N-1); i=i+2){ suma=suma+funcion(inf+H*i); } return suma; } public double sumaPares(double inf, double H, double N){ double suma=0; for(int i=2; i<=(N-2); i=i+2){ suma=suma+funcion(inf+H*i); } return suma; } public double funcion(double x){ double fX; fX=4/(1+x*x); return fX; }}Como se puede observar, se utiliza la clase LeeUnDouble, vista anteriormente, paraobtener los valores de los límites y el valor de N, para realizar la integral de la función. Seimplementan los métodos para las sumatorias de los elementos pares, y de los elementosimpares, así como la función a la cual se le desea obtener la integral.Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez
  • PRÁCTICA DERIVACIÓN E INTEGRACIÓN NUMÉRICA Ejercicios Propuestos 1. Implementar en una clase las ecuaciones para obtener la segunda derivada por medio de la serie de Taylor. Utilice la misma ecuación vista en el ejemplo, obtenga el valor teórico de la segunda derivada en el mismo punto y calcule los errores absoluto y relativo. 2. Realizar una clase que efectúe la integración numérica mediante el método de Simpson 3/8. 3. Utilice la función del ejemplo para obtener su integral y compare con los resultados del ejemplo. 4. Obtenga la primera y segunda derivada de la siguiente función: ex f ( x) = 2 x −3 5. Obtenga por medio de la regla de Simpson de 1/3 la siguiente integral: 3 f ( x) = e x x 2 dx 0 proponga un valor de N. 6. Obtenga por medio de la regla de Simpson de 3/8 la integral del ejercicio anterior y compare ambos resultados para una misma N.Elaborada por: Programación Avanzada y Métodos Numéricos Ing. Laura Sandoval Montaño Viridiana del Carmen De Luna Bonilla Virgilio Green Pérez