Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica12 PDF
Practica12 PDF
+ + = +
x y x y
x y y x x y
i i
i i i
(1)
en donde
i
y es la ordenada que corresponde a
i
x y ) ( x x
i
+ se encuentra en la regin de
convergencia. La funcin para ) ( x x
i
est dada en forma similar por:
...
! 3
) ( ' ' '
! 2
) ( ' '
) ( ' ) (
3 2
+
+ =
x y x y
x y y x x y
i i
i i i
(2)
Utilizando solamente los tres primeros trminos de cada desarrollo, se obtiene una
expresin para
i
y restando la ec. (2) de la ec. (1),
x
x x y x x y
y
i i
i
+
=
2
) ( ) (
' (3)
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Diferencias Centrales, Hacia Adelante y Hacia Atrs
Si se denotan los puntos uniformemente espaciados a la derecha de xi como xi+1, xi+2, y
los puntos a la izquierda de xi como xi-1, xi-2,...; y si se identifican las ordenadas
correspondientes como yi+1, yi+2, yi-1, yi-2, respectivamente, la ec. (3) se puede escribir:
x
y y
y
i i
i
=
+
2
'
1 1
(4)
La ec. (4) se denomina la primera aproximacin, por Diferencias Centrales de y, para x.
La aproximacin representa grficamente la pendiente de la recta discontinua mostrada en
la figura de arriba. La derivada real se representa mediante la lnea slida dibujada como
tangente a la curva en xi.
Si sumamos las ecuaciones (1) y (2), y utilizamos la notacin descrita previamente, se
puede escribir la siguiente expresin para la segunda derivada:
2
1 1
) (
2
' '
x
y y y
y
i i i
i
+
=
+
(5)
La ec. (5) es la primera aproximacin, por Diferencias Centrales, de la segunda derivada de
la funcin en xi. Esta expresin se puede interpretar grficamente como la pendiente de la
tangente a la curva en xi+1/2 menos la pendiente de la tangente a la curva en xi-1/2 dividida
entre x , cuando las pendientes de las tangentes estn aproximadas mediante las
expresiones:
x
y y
y
x
y y
y
i i
i
i i
i
+
+
1
1
2
1
2
1
'
'
(6)
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
es decir,
2
1 1
1 1
) (
2
' '
x
y y y
x
x
y y
x
y y
y
i i i
i i i i
+
=
=
+
+
(7)
Se ha demostrado que las expresiones de Diferencias Centrales para las diversas derivadas
encierran valores de la funcin en ambos lados del valor x en que se desea conocer la
derivada en cuestin. Se pueden obtener fcilmente expresiones para las derivadas,
totalmente en trminos de valores de la funcin en xi y puntos a la derecha de xi. stas se
conocen como expresiones de Diferencias Finitas Hacia Adelante. En forma similar, se
pueden obtener expresiones para las derivadas que estn solamente en trminos de valores
de la funcin en xi y puntos a la izquierda de xi. stas se conocen como expresiones de
Diferencias Finitas Hacia Atrs.
EJEMPLO
Usar aproximaciones de Diferencias Finitas Hacia Adelante, Hacia Atrs y Centradas para
estimar la primera derivada de:
2 . 1 25 . 0 5 . 0 15 . 0 1 . 0 ) (
2 3 4
+ = x x x x x f en x = 0.5
Utilizando un x de 0.5.
Repetir los clculos usando x = 0.25.
Ntese que la derivada se puede calcular directamente como:
f(x) = -0.4x
3
- 0.45x
2
- 1.0x - 0.25
y evaluando tenemos: f(0.5) = -0.9125
SOLUCIN:
Para x = 0.5 se usa la funcin para determinar:
Xi-1 = 0.0 Yi-1 = 1.200
Xi = 0.5 Yi = 0.925
Xi+1 = 1.0 Yi+1 = 0.200
Estos datos se utilizan para calcular:
la Diferencia Hacia Adelante:
45 . 1
5 . 0
925 . 0 2 . 0
) 5 . 0 ( ' =
y
la Diferencia Dividida Hacia Atrs:
55 . 0
5 . 0
2 . 1 925 . 0
) 5 . 0 ( ' =
y
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
y la Diferencia Dividida Central:
0 . 1
0 . 1
2 . 1 2 . 0
) 5 . 0 ( ' =
y
Para 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.63632813
Por lo que la Diferencia Dividida Hacia Adelante:
15468748 . 1
25 . 0
925 . 0 63632813 . 0
) 5 . 0 ( ' =
y
la Diferencia Dividida Hacia Atrs:
71406252 . 0
25 . 0
10351563 . 1 925 . 0
) 5 . 0 ( ' =
y
y la Diferencia Dividida Central:
934375 . 0
5 . 0
10351563 . 1 63632813 . 0
) 5 . 0 ( ' =
y
Para los dos x , las aproximaciones por Diferencias Centrales son ms exactas que las
Diferencias Divididas Hacia Adelante o las Diferencias Divididas Hacia Atrs.
Codificando este mtodo 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);
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
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 cdigo implementa las ecuaciones para las diferencias hacia
adelante, hacia atrs, y centradas. Recibe como parmetros el punto en el que se desea
calcular la derivada, y el x deseado. Se tiene un mtodo que implementa la funcin de la
cual se desea obtener la derivada.
Una de las caractersticas principales de este cdigo es que se utiliza un objeto de la clase
Redondear, la cual es utilizada debido a que en Java, como en otros lenguajes, tiene
errores de redondeo y aritmtica de computadora. Por ejemplo, se puede dar el caso que si
se resta 15 a 15.1, el resultado es 0.0999999999999999999; de aqu el uso de dicha clase
ayuda a hacer redondeos para tener valores tiles en estos clculos.
El cdigo 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 cdigo crea un objeto de la clase BigDecimal, que ayuda a hacer el redondeo. Se
utiliza el mtodo setScale(), que recibe como parmetros el nmero de decimales a los que
se redondear, y un factor, que en este caso, para evitar equivocaciones, se usa
ROUND_HALF_UP.
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Integracin numrica
El principio de los mtodos de integracin numrica consiste en ajustar un polinomio a un
conjunto 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 integracin compuestas
que buscan que el error sea cada vez menor.
Regla de Simpson de
3
1
La regla de Simpson de
3
1
o simplemente regla de Simpson, consiste en aproximar la curva
con polinomios de grado 2, es decir, con parbolas. Omitiendo la deduccin, el resultado es
+ + + =
=
1
,... 5 , 3 , 1
2
,.. 6 , 4 , 2
0
2 4
3
N
i
N
i
N i i N
y y y y
H
S
La primera sumatoria es para aquellas is que sean impares. La segunda es para las is que
sean pares. Dado que para obtener la ecuacin de una parbola se requieren 3 puntos, se
necesitan 2 particiones, por lo cual la N debe ser par.
Regla de Simpson de
8
3
La regla de Simpson de
8
3
consiste en aproximar la funcin mediante una cbica:
+ + + =
1
,.. 9 , 6 , 3
2
3
0
8
3
3 2
3
3
N
i
N
de mltiplos i
N i i
N
y y y y
H
S
Esta regla es ms complicada. La primera sumatoria slo incluye aquellas is que sean
mltiplos de 3. La segunda el resto, es decir, las is que no sean mltiplos de 3. Entre las 2
cubren desde 1 hasta N-1. Para una cbica se requieren 4 puntos, por lo cual se utilizan 3
intervalos. Por esta razn N debe ser un mltiplo de 3.
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Ejemplo de regla de Simpson
Calcularla siguiente integral con las reglas anteriores.
=
+
1
0
2
1
4
x
dx
Para N=2
) 4 (
3
2 1 0 2
y y y
H
S + + =
H est dada por 5 . 0
2
0 1
=
=
N
a b
H
Sustituyendo
3
4 . 9
3
) 8 . 18 ( 5 . 0
)) 2 ( ) 2 . 3 ( 4 4 (
3
5 . 0
)) 1 ( ) 5 . 0 ( 4 ) 0 ( (
3
2
= = + + = + + = f f f
H
S
1333333 . 3
2
= S
Para N=4
( )
4 2 3 1 0 4
2
,.. 6 , 4 , 2
4
3
,... 5 , 3 , 1
0 4
2 ) ( 4
3
2 4
3
y y y y y
H
S
y y y y
H
S
i
i
i
i
+ + + + =
+ + + =
= =
H est dada por 25 . 0
4
0 1
=
=
N
a b
H
Sustituyendo
( )
141566 . 3
3
4247 . 9
3
) 6988 . 37 ( 25 . 0
)) 2 ( ) 2 . 3 ( 2 ) 56 . 2 7647 . 3 ( 4 4 (
3
25 . 0
) 1 ( ) 5 . 0 ( 2 ) 75 . 0 ( ) 25 . 0 ( 4 ) 0 ( (
3
4
4
=
= = + + + + =
= + + + + =
S
f f f f f
H
S
Regla de Simpson
8
3
Para N=3
( ) ( )
3 2 1 0
3
8
3
0
,.. 9 , 6 , 3
1
3
3 0
3
8
3
) 3
8
3
3 2
8
3
y y y y
H
S
y y y y
H
S
i de multiplos i
i i
+ + + =
+ + + =
=
H est dada por 33333 . 0
3
1
3
0 1
= =
=
N
a b
H
Sustituyendo
( ) ( )
+ +
= + + +
=
65
1632
24
3
) 2
13
36
5
18
3 4
24
3
) 1 ( ) ( ) ( 3 ) 0 (
3
1
8
3
3
2
3
1
3
8
3
f f f f S
133461 . 3
65
204
3
8
3
= = S
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Para N=6
( ) ( ) ( )
6 5 4 2 1 3 0
6
8
3
3
,.. 9 , 6 , 3
4
3
6 0
6
8
3
3 2
8
3
3 2
8
3
y y y y y y y
H
S
y y y y
H
S
i de multiplos i
i i
+ + + + + + =
+ + + =
=
H est dada por 1666666 . 0
6
1
6
0 1
= =
=
N
a b
H
Sustituyendo
( ) ( ) ( )
( ) 141583375 . 3 265334 . 50
48
3
2
61
144
13
36
5
18
37
144
3
5
16
2 4
48
3
) 1 ( ) ( ) ( ) ( ) ( 3 ) ( 2 ) 0 (
6
1
8
3
6
5
6
4
6
2
6
1
6
3
6
8
3
=
+ + + +
=
+ + + + + +
= f f f f f f f S
141583375 . 3
6
8
3
= S
Codificando el mtodo de Simpson
3
1
, 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));
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
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, para
obtener los valores de los lmites y el valor de N, para realizar la integral de la funcin. Se
implementan los mtodos para las sumatorias de los elementos pares, y de los elementos
impares, as como la funcin a la cual se le desea obtener la integral.
PRCTICA
DERIVACIN E INTEGRACIN NUMRICA
Elaborada por: Programacin Avanzada y Mtodos Numricos
Ing. Laura Sandoval Montao
Viridiana del Carmen De Luna Bonilla
Virgilio Green Prez
Ejercicios Propuestos
1. Implementar en una clase las ecuaciones para obtener la segunda derivada por
medio de la serie de Taylor.
Utilice la misma ecuacin vista en el ejemplo, obtenga el valor terico de la segunda
derivada en el mismo punto y calcule los errores absoluto y relativo.
2. Realizar una clase que efecte la integracin numrica mediante el mtodo de
Simpson 3/8.
3. Utilice la funcin del ejemplo para obtener su integral y compare con los resultados
del ejemplo.
4. Obtenga la primera y segunda derivada de la siguiente funcin:
3
) (
2
=
x
e
x f
x
5. Obtenga por medio de la regla de Simpson de 1/3 la siguiente integral:
=
3
0
2
) ( dx x e x f
x
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.