Documente Academic
Documente Profesional
Documente Cultură
• Definición de Algoritmo
• Ejemplo
• Pseudo código, Sintaxis de MATLAB
• Variables, definición y tipos
• Estructuras Algorítmicas Secuencial
Decisión
Variar
Mientras
• Ejercicios
• Tips
• Subprogramas en MATLAB
Facultad de Ingeniería, Universidad Nacional de Cuyo
Es la descripción de un procedimiento en forma ordenada y sistemática en un número finito de pasos, líneas o comandos.
Se puede hacer mediante Pseudo código; Diagrama de Flujo; Diagrama de Bloques o Código de Programación
Variable es una dirección, alojada en la memoria de la computadora, para la identificación del CPU
es una especie de recipiente en cuyo interior podemos colocar cierta información
se identifica con un nombre representativo altura
a
Variables simples solo puede guardar un solo valor y son las variables que ya hemos vistos: altura; base, xa, xb, etc
Variables Dimensionadas son las variables que guardan información referida a un mismo dato y que por la cantidad de
datos es necesario dimensionarlas. Tipicamente Vectores y Matrices.
Vectores. Se dimensionan con el máximo número de componentes en la forma A(N).Se identifica uno con A(j).
Casillero donde van los
Nombre de la A(j) distintos valores de la
variable
variable “A”
dimensionada
A
A(N)
Matrices. Se dimensionan con el máximo número de componentes en la forma A(Nf,Nc).Se identifica uno con A(i,j).
k=1: n3
j=1: Nc j=1: Nc C(2,5,1)
del
B(2,5) C(Nf,Nc;n3)
del B(Nf,Nc)
i varía de i varía de
1 a Nf 1 a Nf
Facultad de Ingeniería, Universidad Nacional de Cuyo
1 ^ Potencia Numérico
2 */ Producto - Cociente Numérico
3 +-+ Suma – Resta – Suma y resta el
Concatenación de resultado es numérico.
caracteres Concatenación el
resultado es Carácter
4 = ≠ < ≤ > ≥ Relación Lógico
5 .NOT. Negación Lógico
6 .AND. Conjunción [Y] Lógico
lógico
7 .OR. Disyunción [O] Lógico
lógico
Facultad de Ingeniería, Universidad Nacional de Cuyo
! ! !
Es un conjunto finito de líneas, con principio y fin
Ejemplo: Algoritmo para calcular las raíces de la ecuación de segundo grado
Pseudo código Elementos Sintaxis de MATLAB
Programa raices Nombre function raices
Reales (a; b; c; r1; r2) Declaración de
variables
% Reales (a; b; c; r1; r2)
Escribir “Ingrese Coef Cuadrático” disp('Ingrese Coef Cuadrático:');
Leer a a = input('');
Ingreso de datos
Escribir “Ingrese Coef Lineal”
b = input('Ingrese Coef Lineal:');
Leer b
c = input('Ingrese Coef Indep:');
Escribir “Ingrese Coef Indep”, Leer c
Discrim (b^2-4*a*c) Proceso Discrim = (b^2-4*a*c);
r1 (-b+Discrim^0.5)/(2*a) r1 = (-b+Discrim^0.5)/(2*a);
r2 (-b-Discrim^0.5)/(2*a) r2 = (-b-Discrim^0.5)/(2*a);
! !
Es un conjunto finito de líneas, con una bifurcación según la respuesta lógica a una pregunta
Ejemplo: Algoritmo para calcular las raíces de la ecuación de segundo grado
Pseudo código Elementos Sintaxis de MATLAB
Programa raices Nombre function raices
Reales (a; b; c; r1; r2) Declaración de
variables
% Reales (a; b; c; r1; r2)
Escribir “Ingrese Coef Cuadrático”, Leer a a = input('Ingrese Coef Cuadrático:');
Escribir “Ingrese Coef Lineal”, Leer b b = input('Ingrese Coef Lineal:');
Ingreso de datos c = input('Ingrese Coef Indep');
Escribir “Ingrese Coef Indep”, Leer c
! !
Es un conjunto finito de líneas, que se repite un número definido y conocido de veces
Ejemplo: Algoritmo para leer y escribir las componentes de un vector de dimensión 10
Pseudo código Elementos Sintaxis de MATLAB
Programa leer_vec Nombre function leer_vec
Reales (vec(10)) Declaración de % Reales (vec(10))
Enteros i, j variables % Enteros i, j
DOFOR i =1 HASTA 10 PASO 1 disp(lectura de las componentes');
Escribir “Ingrese componente”, for i=1:10
Ingreso de datos
Leer vec(i) disp ('Ingrese Componente:');
vec(i) = input('');
ENDDO
end
DOFOR j =1 HASTA 10 PASO 1 Proceso disp('Escritura de las componentes');
Escribir “La componente es”, y for j=1:10
Entrega de
Escribir vec(j) disp ('La componente es:');
resultados
disp (vec(j));
ENDDO
end
Fin Final end
Facultad de Ingeniería, Universidad Nacional de Cuyo
! !
Es un conjunto finito de líneas, que se repite un número indefinido y desconocido de veces
Ejemplo: Algoritmo para que:”mientras la función f(x)=(3x2-12) sea distinto de cero, lea un valor de abscisa x0, calcule
la función f(x0) en ese valor x0, y sólo entregue un valor de x0 cuando la función f(x) sea cero”.
Pseudo código Elementos Sintaxis de MATLAB
Programa leer_vec Nombre function leer_vec
Reales (x0, f) Declaración de %Real (f, x0)
Enteros k variables %Integer k
k 1 k=1;
Escribir “Ingrese x0”, Leer x0 Ingreso de datos x0=input ('íngrese abscisa');
f 3*x0^2-12 f= 3*x0^2-12;
DOWHILE Proceso while (abs(f) > 0)
k k+1 y k =k + 1;
Escribir “Ingrese x0”, Leer x0 Entrega de
x0=input ('íngrese abscisa');
resultados
f 3*x0^2-12 f= 3*x0^2-12 ;
ENDDO end
Escribir “la abscisa que anula f es: “, x0 disp('la abscisa es: '),x0
Fin Final end
¿Cuál es la utilidad de k? Modificar para tener la “historia” de los x0
Facultad de Ingeniería, Universidad Nacional de Cuyo
! !
Es un conjunto finito de líneas, que se repite un número indefinido y desconocido de veces
Ejemplo: Algoritmo para que:”mientras la función f(x)=(3x2-12) sea distinto de cero, lea un valor de abscisa x0, calcule la función f(x0) en
ese valor x0.Y sólo entregue la historia de x0 cuando la función f(x) es cero”.
Pseudo código Elementos Sintaxis de MATLAB
Programa cer_de_f Nombre function cer_de_f
Reales (x0, f) Declaración de %Real (A(2,1000), x0, f)
Enteros k variables %Integer k
k 1 k=1;
Escribir “Ingrese x0”, Leer x0 x0=input ('íngrese abscisa');
f= 3*x0^2-12;
f 3*x0^2-12 Ingreso de datos A(k,1)=x0;
A(k,1)=x0;
A(k,2)=f;
A(k,2)=f;
DOWHILE Proceso while (abs(f) > 0)
k k+1 y k =k + 1;
Escribir “Ingrese x0”, Leer x0 Entrega de x0=input ('íngrese abscisa');
f 3*x0^2-12 f= 3*x0^2-12 ;
A(k,1)=x0;
resultados
A(k,1)=x0;
A(k,2)=f; A(k,2)=f;
ENDDO end
Escribir “la historio de : “, x0 disp('la historia de x0 y f es: ')
for i=1:k for i=1:k
Escribir, A(k,1), A(k,2) disp(' '), A(k,1), A(k,2)
end end
Fin Final end
Modificar para controlar que no se supere la dimensión 1000 de la matriz A y definir “banda de cero”
Facultad de Ingeniería, Universidad Nacional de Cuyo
! !
Ejercicio Algoritmo para que:”mientras la función f(x)=(3x2-12) sea distinto de cero, lea un valor de abscisa x0, calcule la función f(x0)
en ese valor x0.Y sólo entregue la historia de x0 cuando la función f(x) es cero”. No se debe superar las 1234 iteraciones.
function cer_de_f
%Real (A(2,1000), x0, f, tol) while (comparación o variable lógica)
%Integer k, i
tol=1e-12; Línea 1 Bloque de líneas que se “ejecuta”
max= ; Línea 2 sólo si la comparación o variable
k=1; ……… lógica es VERDADERA.
x=input ('íngrese abscisa'); ……… Debe iniciarse antes del while
f= 3*x^2-12; Debe cambiar dentro del Bloque
A(1,k)=x; end
A(2,k)=f;
%
. (abs(f) > tol ……. k < max)
k =k + 1; Operadores Lógicos
x=input ('íngrese componente');
f= 3*x^2-12 ;
Mayor, Menor,……..….en MATLAB……>…<
A(1,k)=x; Igual, Distinto……..….en MATLAB…....==……~=
A(2,k)=f;
. OR…………………….en MATLAB……|
disp('la historia de x0 y f es: ') AND………..................en MATLAB…..&
for i=1:k
disp(' '), A(i,1), A(i,2) dan como resultado Verdadero o Falso
end
end
Facultad de Ingeniería, Universidad Nacional de Cuyo
! "
Los subprogramas son un subproceso constituido por un bloque de órdenes o comandos que realizan dicho subproceso y
se los identifica con un Nombre.
Se los llama por su Nombre desde un proceso principal
Pueden necesitar datos de ingreso, y en general entregan un resultado
Los datos de ingreso y resultados pueden intercambiarse con el proceso principal mediante argumentos
En MATLAB se los identifica como “function”.
Programa Principal Subprograma
Es un conjunto de líneas de órdenes, y las function puede estar en el archivo principal
en alguna de ellas se invoca una function o en otro archivo
mediante el Nombre de la misma function que debe llamarse con el nombre de la function
--------------------------
-------------------------- function [a, b, c, d]= leer_puntos
% ingreso de datos a=input('Ingrese x1');
[x1, y1, x2, y2]= leer_puntos; b=input('Ingrese y1');
% sin pasaje de argumentos de entrada c=input('Ingrese x2');
% con multiples argumentos de salida d=input('Ingrese y2')
----------------------------- end
-----------------------------
% Cálculo del Punto Medio function zm = Punto_medio (za, zb, zc , zd)
ym = Punto_medio(x1, y1, x2, y2); xx=(za+zc)/2;
% con pasaje de argumentos de entrada zm=(zb+zd)/2;
% con un único argumento de salida end
-----------------------------
#
Ejercicio 1
Desarrollar un algoritmo que lea un vector de 100 componentes e imprima su módulo (norma cuadrática)
Ejercicio 2
Desarrollar un algoritmo que lea un vector de 45 componentes e imprima su norma infinita
Ejercicio 3
Desarrollar un algoritmo que lea un vector de 45 componentes e imprima su versor, sólo si su norma infnito es no nula.
De lo contario exprese que el vector es nulo
• No hay obviedades
• No debe haber ambigüedades
• Cada orden deber ser precisa
• Ordene cosas simples, que sea sólo una tarea
• Deje la optimización de cantidad de órdenes para una segunda etapa
• Proponga el algoritmo y “ejecútelo”. Sea estricto en ello.
• Si aparecen errores, corrija y vuelva a ejecutar. Itere hasta que esté conforme.
Facultad de Ingeniería, Universidad Nacional de Cuyo
Planteo de Problema
0 x tan( x ) c
2
0 a x2 b x c
Dada la función Dada la función
La ecuación no lineal La ecuación no lineal
Tiene como raíces r1, 2 ( b r b 2 4 a c ) /( 2 a )
Tiene como raíces!!!!!!!.???????
Objetivo
Calcular una aproximación de la raíz mediante Métodos Iterativos.
PROCEDIMIENTO GENERAL
Paso Inicial
Realizar un análisis de la función: determinar singularidades, asíntotas, etc.
Se busca toda la información posible a los efectos de elegir adecuadamente las variables iniciales de los
métodos iterativos
f(ak)
ak X X= r2
X= r1 X
f(ak) bk
X= r ak bk
f (a k ) f (bk ) 0
Y(x)
Y=f(x)
f(bk)
X= r2
X= r3
existe al menos una raìz
ak X
f(ak) bk
X= r1
RECUERRENCIA
Se debe evaluar la nueva solución aproximada correspondiente a la nueva
iteración o ciclo
CONTROL DE DETENCIÓN
Si alguna MEDIDA del ERROR es adecuada entonces se ha logrado la
solución buscada. Se debe Cambiar NHS a falso
SI ( Valor Absoluto de f(rk+1) < Tolerancia)
NHS es FALSO
FINSI
ACTUALIZACIÓN DE VARIABLES
Se reasignan las variable de modo que se cumplan con las condiciones de
Inicalización
MÉTODO DE BISECCIÓN
Paso Inicial
Un intervalo [a0 ; b0] en el eje de las abscisas X en el cuál la función no lineal tenga al menos una raíz.
Esto es abscisas tales que
f(a0).f(b0) < 0
Y(x)
f(b0)
Y=f(x)
f(a0) X= r
a0 b0
Primera Aproximación
Se debe encontrar la primera aproximación de la raíz; es decir, el primer elemento de la sucesión de
soluciones aproximadas.
MÉTODO DE BISECCIÓN
Primera aproximación
Dado el Intervalo Inicial (a0; b0);
f(b0)
se aproxima la raíz con
El Punto Medio del Intervalo
(a0 b0 )
Y=f(x)
r1
2
X
f(a0) X= r
r1
a0 b0
Segunda aproximación
Dado el Intervalo 1 (a1; b1);
f(b0)
Y=f(x)
se aproxima la raíz con
el Punto Medio del intervalo 1
(a1 b1 )
r1
X= r X
r2 f(a0)
2
r1
a0 b0
a1 r2 b1
Tercera aproximación
Dado el Intervalo 2 (a2; b2);
f(b0)
Y=f(x)
(a2 b2 )
X
f(a0)
r3 r1
2 a0 b0
a1 r2 b1
a2 r3 b2
Cuarta aproximación
Dado el Intervalo 3 f(b0)
(a3; b3);
se aproxima la raíz con
el Punto Medio del Y=f(x)
intervalo 3
(a3 b3 )
r4
2 X= r
X
RECURRENCIA
rk+1 = (ak + bk)/2 f(rk+1) r X
CONTROL DE DETENCIÓN f(ak)
Si ( f(rk+1 )=0) entonces ak rk+1 bk
No_Hay_Solu=Falso
Fin SI
ACTUALIZACIÓN k =k+1
Si (f(ak)*f(rk+1)<0) entonces ak+1= ak bk =rk+1
Si (f(bk)*f(rk+1)<0) entonces ak+1= rk+1 bk+1= bk
FIN DEL HACER MIENTRAS
Dr. Ing. A.Mirasso Raíces de Ecuaciones No Lineales Año 2014 12 de 31
Facultad de Ingeniería, Universidad Nacional de Cuyo
MÉTODO DE BISECCIÓN
10
x
0
-6 -4 -2 0 2 4 6
-5
-10
-15
CONTROL DE DETENCIÓN
Si ( f(rk+1 )=0) entonces
No_Hay_Solu=Falso
Fin SI
Pero es !muy exigente" Y(x) Y=f(x)
Es conveniente “suavizar”
Si (Valor absoluto de f(rk+1 )<İf) entonces
X= r
X
No_Hay_Solu=Falso
Fin SI
Es conveniente !controlar el cambio de digitos"
Si (Valor absoluto de [rk+1- rk ]<İ1) entonces Y(x) Y=f(x)
No_Hay_Solu=Falso
Fin SI
Si (Valor absoluto de [(rk+1- rk)/ rk+1 ]<İr) entonces
X
rk rk+1
No_Hay_Solu=Falso
Fin SI
f(a0) b0
a0
RECURRENCIA
§ f (ak ) f (bk ) ·
ak ¨¨ ¸¸ ak X
f ( ak )
© (ak ) (bk ) ¹
rk 1 con mk
mk
f(ak) bk
CONTROL DE DETENCIÓN
Si ( f(rk+1 )=0) entonces X= rk+1
No_Hay_Solu=Falso
Fin SI
ACTUALIZACIÓN k =k+1
Si (f(ak)*f(rk+1)<0) entonces ak+1= ak bk =rk+1
Si (f(bk)*f(rk+1)<0) entonces ak+1= rk+1 bk+1= bk
FIN DEL HACER MIENTRAS
10
x
0
-6 -4 -2 0 2 4 6
-5
-10
-15
MÉTODO DE LA SECANTE
INICIALIZACIÓN
Se necesita dos puntos cercanos a una raíz. Pueden ser dos raíces aproximadas con otro
método
Y(x)
Y=f(x)
f(rk-1)
f(rk)
X
rk rk-1
MÉTODO DE LA SECANTE
10
x
0
-6 -4 -2 0 2 4 6
-5
-10
-15
Y(x)
Y=f(x)
f(rk)
rk X
rk
f (rk ) df
rk 1 con mk
mk dx rk
CONTROL DE DETENCIÓN
Si ( f(rk+1 )=0) entonces
No_Hay_Solu=Falso rk X
Fin SI
ACTUALIZACIÓN rk+1
k =k+1
rk= rk+1 Se retienen una solución aproximada
FIN DEL HACER MIENTRAS
10
x
0
-6 -4 -2 0 2 4 6
-5
-10
-15
\ ( xs ) F ( xs ) C <(x)
escribir la ecuación no lineal en la forma:
y=<(x)
0
y \ ( x)
y=F(x)
F ( x) C
que es la búsqueda de la raíz de la función
Y=D . <(x)
F(x)
X
El valor de la abscisa xs es INVARIANTE C
D un ESCALAR NO NULO
a que la ecuación no lineal se multiplique por
D \ ( x s ) D ( F ( x s ) C ) 0 xs X
D \ ( x s ) D ( F ( x s ) C ) 0
Si a la ecuación no lineal
<(x)
y=x
y=<(x)
xs D \ ( xs )
Se le suma xs en ambos miembros resulta y=F(x)-C
xs
que se puede escribir en la forma: y=x + D . <(x)
F(x)
xs g ( xs ) Y=D . <(x)
X
x D ( F ( x) C )
donde C
g ( x)
x D \ ( x) xs X
Inicialización
Se necesita un punto cercano a una raíz. (Igual a Newton Raphson)
<(x)
Recurrencia y=x
La aproximación de la raíz se Y=F(x) - C
obtiene mediante,
y=x+D . <(x)
xk 1 g ( xk ) g(xk)
Control de Detención g(xk+1)
Igual que métodos anteriores. y=g(x)
g(xs)
Alternativamente se debe F(x)
controlar si se cumple que
xk 1 g ( xk 1 ) d H f
X
xk+1 xr
C xs
Actualización de Variables X
Se deben retener la última
aproximación obtenida.
F(x) F(x)
x1 x0 X x2 x3 X
x2 xs x1
xs C
C x0
X X
CONVERGE DIVERGE
Y=F(x) - C
La fórmula de recurrencia es
xk 1 g ( xk ) g(x0)
g(x1) y=g(x)
xk 1 xs g ( xk ) g ( x s )
Al restar miembro a miembro, se tiene g(xs)
F(x)
Al aplicar el Teorema del Valor Medio, resulta x1 x0 X
( xk 1 xs ) ( xk x s )
dg ( x ) xs x2
C
dx x [
con [ una abscisa entre xk y xs..
X
H k 1 Hk 1
dg ( x ) dg ( x)
x [ [
dx CONVERGE si dx x
-1 3
0 2 4 6 8 10 x 12
-3 4
-5
5
-7
-9
6
-11 7
x (1 / 10) ( x 2 9)
8
g ( x)
1 (2 / 10) x
dg ( x)
dx
Dr. Ing. A.Mirasso Raíces de Ecuaciones No Lineales Año 2014 29 de 31
Facultad de Ingeniería, Universidad Nacional de Cuyo
CONTROL DE DETENCIÓN
Los siguientes controles son complementarios Y(x) Y=f(x)
Si (Valor absoluto de f(rk+1 )<İf) entonces
No_Hay_Solu=Falso X= r
X
Fin SI
Si (Valor absoluto de [rk+1- rk ]<İ1) entonces
No_Hay_Solu=Falso
Fin SI Y(x) Y=f(x)
Si (Valor absoluto de [(rk+1- rk)/ rk+1 ]<İr) entonces
No_Hay_Solu=Falso
Fin SI X
rk+1
Si (k > MaxIter) entonces rk
No_Hay_Solu=Falso
Fin SI
Introducción.
Repaso de métodos iterativos para obtener raíces de ecuaciones no lineales
Autovalores y Autovectores
Propiedades
Método de la Potencia. Algoritmo, Convergencia
Método de la Potencia Inversa
El cociente de Rayleigh
Aplicaciones
Facultad de Ingeniería, Universidad Nacional de Cuyo
Cada iteración genera una solución aproximada, y su diferencia respecto de la solución exacta
debe ser menor que en la iteración anterior para que exista convergencia
Inicialización o Acercamiento
Recurrencia
Control de Detención
Actualización
f ( xk +1 ) ≤ ε f o k ≤ k max
Control de Detención xk +1 − xk
xk +1 − xk ≤ ε a o ≤ εr
xk +1
Actualización Retiene la última solución aproximada
dg ( x) f ( x)
CRITERIOS DE dg ( x ) < 1 con g ( x ) = x −
<1 dx df
CONVERGENCIA dx x=ξ
x =ξ
dx
Facultad de Ingeniería, Universidad Nacional de Cuyo
k=k+1
if ( f ( xk +1 ) ≤ ε f )
Dada una Matriz A ε RNxN, un vector b ε RN, el sistema de ecuaciones lineales asociado es
A⋅ x = b
a11 a12 a13 .... a1N x1 b1
a21 a 22 a 23 .... a2 N x2 b2
a31 a32 a33 .... a3 N x3 = b3
.... .... .... .... .... ... ...
aN1 aN 2 aN 3 .... a NN xN bN
Dada una Matriz A ε RNxN, un vector b ε RN, el sistema de ecuaciones lineales asociado es
A⋅ x = b
El sistema se puede escribir
D⋅ x + B⋅ x = b
x = −D−1 ⋅ B ⋅ x + D−1 ⋅ b
x = T⋅ x + c
T = −D−1 ⋅ B c = D−1 ⋅ b
0 − a12 / a11 − a13 / a11 .... − a1N / a11 b1 / a11
− a 21 / a 22 0 − a 23 / a 22 .... − a 2 N / a 22 b2 / a 22
T = − a31 / a33 − a32 / a33 0 .... − a3 N / a33 c = b3 / a33
.... .... .... 0 .... ...
− a N 1 / a NN − a N 2 / a NN − a N 3 / a NN .... 0 bN / a NN
Se puede iterar con
( k +1) (k )
x = T⋅ x +c
Hasta encontrar que el ERROR es tan pequeño como se quiera
Facultad de Ingeniería, Universidad Nacional de Cuyo
EJEMPLO
Se busca la solución del siguiente sistema de ecuaciones lineales
50 − 25 x10 10 0
− 25 50 − 25 0 x2 20
=
0 − 25 50 − 25 x3 20 A⋅ x = b
0 0 − 25 50 x4 10
A = D + B
50 − 25 0 0 50 0 0 0 0 − 25 0 0
− 25 50 − 25 0 0 50 0 0 − 25 0 − 25 0
= +
0 − 25 50 − 25 0 0 50 0 0 − 25 0 − 25
0 0 − 25 50 0 0 0 50 0 0 − 25 0
Facultad de Ingeniería, Universidad Nacional de Cuyo
x = −D−1 ⋅ B ⋅ x + D−1 ⋅ b
x = T⋅ x + c
c= D −1 ⋅ b
−1
50 0 0 0 10 0 0 0 10
0 50 0 0 20 0 0 0 20
c= ⋅ = ⋅ =
0 0 50 0 20 0 0 0 20
0 0 0 50 10 0 0 0 10
T= − D −1 ⋅ B
0 0 0 0 − 25 0 0
0 0 0 − 25 0 − 25 0
T=− ⋅ =
0 0 0 0 − 25 0 − 25
0 0 0 0 0 − 25 0
Facultad de Ingeniería, Universidad Nacional de Cuyo
A⋅ x = b
50 − 25 0 0 x1 10
− 25 50 − 25 0 x2 20
=
0 − 25 50 − 25 x3 20
0 0 − 25 50 x4 10
x = −D −1 ⋅ B ⋅ x + D −1 ⋅ b
x= T ⋅x + c
0 25 / 50 0 0 x1 10 / 50
25 / 50 0 25 / 50 0 x1 20 / 50
x= ⋅ +
0 25 / 50 0 25 / 50 x3 20 / 50
0 0 25 / 50 0 x4 10 / 50
Facultad de Ingeniería, Universidad Nacional de Cuyo
Se puede paralelizar ¡!
Facultad de Ingeniería, Universidad Nacional de Cuyo
A partir del método iterativo de Jacobi, cuyo fórmula de recurrencia está dada por
( k +1) (k )
x = T⋅ x +c
( k +1) ( k +1) (k )
Se puede iterar con x = Tl ⋅ x + Ts ⋅ x +c
Hasta encontrar que el ERROR es tan pequeño como se quiera. Siendo
0 0 0 .... 0 x1( k +1)
− a 21 / a 22 0 0 .... 0 x 2( k +1)
( k +1)
Tl = − a31 / a33 − a32 / a33 0 .... 0 x = x3( k +1)
.... .... .... 0 .... ...
− a N 1 / a NN − a N 2 / a NN − a N 3 / a NN .... 0 x N( k +1)
0 − a12 / a11 − a13 / a11 .... − a1N / a11 x1( k )
0 0 − a 23 / a 22 .... − a 2 N / a 22 x 2( k )
(k )
Ts = 0 0 0 .... − a 3 N / a33 x = x3( k )
.... .... .... 0 .... ...
0 0 0 .... 0 x N( k )
Se debe destacar que:
• para calcular x1, participa todo el vector x de la iteración anterior.
• Para calcular x2, participa x1 de la iteración actual (recién calculado)y todas las demás componentes del vector x de la iteración anterior.
• Para calcular x3, participa x1 y x2 de la iteración actual (recién calculadas)y todas las demás componentes del vector x de la iteración
anterior.
• Para calcular x4, participa x1 ,x2 y x3 de la iteración actual (recién calculadas)y todas las demás componentes del vector x de la iteración
anterior.
• Así se sigue hasta calcular xN con todas las componentes de la iteración actual del vector x (recién calculadas), desde la 1 hasta la N-1.
Facultad de Ingeniería, Universidad Nacional de Cuyo
( k +1) ( k +1) (k )
Se itera con x = Tl ⋅ x + Ts ⋅ x +c
0 0 0 .... 0 x1( k +1)
− a 21 / a 22 0 0 .... 0 x 2( k +1)
( k +1)
Tl = − a 31 / a33 − a 32 / a33 0 .... 0 x = x3( k +1)
.... .... .... 0 .... ...
− a N 1 / a NN − a N 2 / a NN − a N 3 / a NN .... 0 x N( k +1)
0 − a12 / a11 − a13 / a11 .... − a1N / a11 x1( k )
0 0 − a 23 / a 22 .... − a 2 N / a 22 x 2( k )
(k )
Ts = 0 0 0 .... − a3 N / a33 x = x3( k )
.... .... .... 0 .... ...
0 0 0 .... 0 x N( k )
Se debe destacar que:
• para calcular x1, participa todo el vector x de la iteración anterior.
• Para calcular x2, participa x1 de la iteración actual (recién calculado) y todas las demás componentes del
vector x de la iteración anterior.
• Así se sigue hasta calcular xN con todas las componentes de la iteración actual del vector x (recién
calculadas), desde la 1 hasta la N-1.
Facultad de Ingeniería, Universidad Nacional de Cuyo
Síntesis
Punto Fijo Sistema de Ecuaciones Lineales
Se busca xk +1 = r tal f = A⋅x −b = 0
x ε R N tal que
que f (r ) = 0
Inicialización Se propone una solución inicial x0
( k +1) ( k +1)
( k +1) (k )
x = Tl ⋅ x +
Recurrencia xk +1 = g ( xk ) x = T⋅ x +c (k )
Ts ⋅ x +c
Control de Detención f ( xk +1 ) ≤ ε f o
xk +1 − xk ≤ ε a o k ≤ k max
Actualización Retiene la última solución aproximada
Mayor de los Valores Matriz A
CRITERIOS DE Absolutos de T estrictamente
dg ( x ) debe ser menor a 1 diagonal dominante
CONVERGENCIA <1
dx x=ξ ρ (T) < 1
En lugar de se usa
Valor absoluto de una variable real Norma de un Vector de componentes reales
Facultad de Ingeniería, Universidad Nacional de Cuyo
Dada una matriz A, se le puede asociar una Transformación Lineal, la que tiene Direcciones Invariantes,
soluciones de
(A − λ ⋅ I) x = 0
Ejemplos
Simetría respecto de una RECTA Proyección en EJE X en dirección de una RECTA
y y
Tu
u
u
Tu
x x
Dirección Invariante 1
Autovalor
Dirección Invariante 2
Autovalor
Facultad de Ingeniería, Universidad Nacional de Cuyo
y0 y1 y2 y3 y4 y5 y6
2 -12 88 -688
2 -8 48 -352
iterac 1 2 3 4 5 6
alfa(1)
alfa(2)
Facultad de Ingeniería, Universidad Nacional de Cuyo
y0 y1 y2 y3 y4 y5 y6
2 -6
2 -4
norma 2 -6
x0 x1 x2 x3 x4 x5 x6
1 1
1 0,66666667
iterac 1 2 3 4 5 6
alfa(1)
alfa(2)
num
den
rho
Facultad de Ingeniería, Universidad Nacional de Cuyo
=λ⋅ 1
y1(t)
autovectores − 4 0 v2 v2
5 y2(t)
λ 1⋅t λ 2⋅t 2
y (t ) = v ⋅ e1 + v ⋅e2 1
0
0 0,5 1 1,5
y2
1 1 −2⋅t 14 1 −8⋅t
3,5
Es decir, y (t ) = ⋅ e + ⋅ e 3
3 2 3 0.5 2,5
1,5
0,5
y1
0
0 1 2 3 4 5 6
Facultad de Ingeniería, Universidad Nacional de Cuyo
u (t ) = x ⋅ e I ω t
Que resulta en
⋅ (K − ω 2 M ) ⋅ x = 0
Facultad de Ingeniería, Universidad Nacional de Cuyo
Planteo de Problema
Interpolación de funciones
Método Directo
Método con Polinomios de Lagrange
Método con Polinomios de Newton
Aproximación de funciones
Método de Mínimos Cuadrados
Ejemplos
Resumen
r0 ½ y 0 ½ § I 0 ( x0 ) I1 ( x0 ) I 2 ( x0 ) I m ( x0 ) · a 0 ½
x0 xi xn
°r ° ° y ° ¨ I (x ) ¸
I m ( x1 ) ¸°° a1 °°
....
°° 1 °° °° 1 °° ¨ 0 1 I1 ( x1 ) I 2 ( x1 )
y )a
¨ ° °
I m ( x 2 ) ¸® a 2 ¾
....
®r2 ¾ ® y 2 ¾ ¨ I0 ( x2 ) I1 ( x 2 ) I2 ( x2 )
¸
°... ° ° ... ° ¨ .... .... ¸° ... °
.... r
° ° ° ° ¨ ° °
I m ( x n ) ¸¹°¯a m °¿
.... .... ....
°¯rn °¿ °¯ y n °¿ © I 0 ( x n ) I1 ( x n ) I2 ( xn ) ....
INTERPOLACIÓN APROXIMACIÓN
y Forma Fuerte: ri=0, para todo xi y Forma Débil: los ri !son nulos en promedio
f(x) f(x)
ri
Pm(x)
rn Pm(x)
r2
r1
r0
x x
x0 xi xn x0 xi xn
Dr. Ing. A.Mirasso Interpolación y Aproximación Año 2014 2 de 15
Facultad de Ingeniería, Universidad Nacional de Cuyo
r0 ½ y0 ½ § I0 ( x0 ) I1 ( x0 ) I2 ( x0 ) Im ( x0 ) · a0 ½ 0 ½
Pn(x)
°r ° ° y ° ¨ I (x ) ¸
Im ( x1 ) ¸°° a1 °° °0 °
....
°° 1 °° °° 1 °° ¨ 0 1 I1 ( x1 ) I2 ( x1 ) °° °°
¨ ° °
Im ( x2 ) ¸® a2 ¾
....
®r2 ¾ ® y2 ¾ ¨ I0 ( x2 ) I1 ( x2 ) I2 ( x2 )
¸ ®0 ¾
x
°...° ° ... ° ¨ .... .... ¸° ... ° °...°
....
° ° ° ° ¨ ° ° ° ° I1(xi)
x0 xi xn
Im ( xn ) ¸¹°¯am °¿
.... .... ....
°¯rn °¿ °¯ yn °¿ © I0 ( xn ) I1 ( xn ) I2 ( xn ) °¯ 0 °¿
I2(xi)
y
y )a
....
I0(xi)
r 0
Que resulta en el sistema de ecuaciones lineales
§ 1 x0 x .... x ·a0 ½ y0 ½
x
¨ ¸° ° °y °
2 n
x0 xi xn
¨ 1 x1 x .... x ¸° a1 °
0 0
° ° °° 1 °°
¨1 x x .... x ¸¸®a 2 ¾
2 n
® y2 ¾
1 1
¨
.... .... ¸° ... ° ° ... °
2 n
° ° ° °
para que sea Solución Única; m=n y todos x distintos!!!!!
¨ n¸
© 1 xn xn
2
.... x n ¹°¯a n °¿ °¯ y n °¿
x y=f(x) y
1,5 3 P1(x)
3 4 f(x)
§ ·a0 ½ ½
x0 x1
¨¨ ¸¸® ¾ ® ¾
I1(xi)
y
© ¹¯ a1 ¿ ¯ ¿
I0(xi)
x
x0 x1
de donde se tiene que a0 a1
El Polinomio Interpolante usando la Base de Polinomios elementales {1, x} es
P1 ( x) 1 x
§ · a 0 ½ ½
y
¨ ¸° ° ° ° I2(xi)
¨ ¸® a1 ¾ ® ¾ I0(xi)
¨ ¸°̄a ° °̄ °
© ¹ 2¿ ¿
x
x0 x1 x2
(x x k )
f(x)
(x x 1 )(x x 2 )(x x 3 )...........(x x n )
n
I0(xi)
l0(x)
li(xi)=1 y li(xk)=0 con kzi
y )a
Se determinan los ak imponiendo
r 0 x0
x
que el Residuo sea nulo, xi xn
§ 1 0 0 .... 0 ·a0 ½ y0 ½
lk(x)
¨
¨
¸° °
¸° a1 °
°y ° Ik(xi)
°° 1 °°
¨ 0 0 1 .... 0 ¸°a °
0 1 0 .... 0
¨ ¸® 2 ¾ ® y2 ¾
x
© ¹¯ n ¿ °¯ yn °¿
x y=f(x) y
P1(x)
1,5 3 f(x)
3 4
x
l 0 ( x)
x0 x1
y
Base = {l0(x), l1(x)} con l1 ( x) 1 l0(x)
§ ·a0 ½ ½
x0 x1
¨¨ ¸¸® ¾ ® ¾
y
l1(x)
© ¹¯ a1 ¿ ¯ ¿
1
x
x0 x1
de donde se tiene que a0 a1
El Polinomio Interpolante usando la Base de Polinomios de Lagrange es
P1 ( x)
Dr. Ing. A.Mirasso Interpolación y Aproximación Año 2014 7 de 15
Facultad de Ingeniería, Universidad Nacional de Cuyo
x y=f(x) l 0 ( x)
1,5 3
3 4 l1 ( x)
4,5 3,5
l 2 ( x)
y 2 y1 y1 y 0
y1 y 0 x 2 x1 x1 x 0
x1 x 0 x2 x0
De donde: a0= y0, a1 , a2
n0 ( x) 1 x
Base = {n0(x), n1(x)} con x0 x1
§ · a 0 ½ ½
1
¨¨ ¸¸® ¾ ® ¾
n1(x)
x
© ¹¯ a1 ¿ ¯ ¿
x0 x1
n1 ( x ) n0(x)
con
n2 (x) x
§ · a ½ ½
x0 x1 x2
¨ ¸ ° ° ° °
¨ ¸ ® a ¾ ® ¾
0
¨ ¸ °̄ a ° °̄ °
© ¹ ¿ ¿
1
2
Dr. Ing. A.Mirasso Interpolación y Aproximación Año 2014 11 de 15
Facultad de Ingeniería, Universidad Nacional de Cuyo
La función Error de interpolación E(x) tiene (n+1) ceros, en cada uno de los xi datos, Pn(x)
por lo que se puede expresar como un polinomio de al menos grado (n+1), como
E(x)= C (x-x0) (x-x1) (x-x2)…… (x-xn) E(x)
x
La C se determinará de modo que la función auxiliar W(x) sea cero para todo valor de x.
x0 xi xn
W(x)= f(x) - Pn(x)-E(x)
xk dato (k=0,n), es decir tiene n+1 ceros. Pero para cualquier otro xi z xk, se elige C de modo que W (xi)=0, entonces
La constante C se determinará de modo que la igualdad f(x)=Pn(x)+E(x), se cumpla para cualquier valor de x. La función W (x) vale cero en cada
d 1W d 2W
W(x) tiene (n+2) ceros, para cada xi; ĺ tiene (n+2-1) ceros, para cada xi ; ĺ tiene (n+2-2) ceros, para cada xi;
dx 1 dx 2
d n 1W d n 1 f d n 1 Pn d n 1 E
n 1
n 1
ĺ
dx n 1 dx n 1 dx n 1
!!. d W tiene (n+2-(n+1)) cero, para cada xi. Esta derivada es:
dx n 1 dx
d n 1W d n 1 f
0 C ( n 1)"
dx n 1 dx n 1
Así para cada valor xi z xk existe una C que hace el error de interpolación se pueda expresar
d n 1 f ( x )
( x x0 )( x x1 )( x x2 ).............( x xn ) con [ H (x0, xn),
1
dx n 1 X (n 1)"
E ( x)
[
6 ak Ik(xi)
Se define: Residuo i=0,n
r0 r1
x
ri = yi - x0
y 0 ½ § I 0 ( x0 ) I1 ( x0 ) I 2 ( x0 ) I m ( x0 ) · a 0 ½
xi xn
r0 ½
° y ° ¨ I (x ) ¸
I0(xi)
°r ° I m ( x1 ) ¸°° a1 °°
....
°° 1 °° °° 1 °° ¨ 0 1 I1 ( x1 ) I 2 ( x1 )
y
¨ ° °
I m ( x 2 ) ¸® a 2 ¾
....
®r2 ¾ ® y 2 ¾ ¨ I0 ( x2 ) I1 ( x 2 ) I 2 ( x2 )
¸
°... ° ° ... ° ¨ .... .... ¸° ... ° I1(xi)
....
° ° ° ° ¨ ° °
I m ( x n ) ¸¹°¯a m °¿
.... .... ....
°¯rn °¿ °¯ y n °¿ © I0 ( x n ) I1 ( x n ) I2 ( xn )
I2(xi)
y )a
....
r x
> @
x0 xi xn
min 6(r (a ) ) 2 ,
Los coeficientes ak son tales que minimizan la Suma de los Cuadrados de los Residuos
2
¦ 2 r (a ) I ( x )
min r
rT I j
2 i k
La condición para que la Suma de los Cuadrados de los Residuos tome un valor extremo es i j j i 0 j 1, m
i 1,n
Como se debe cumplir para todo j=1,m; finalmente resultan las siguientes ECUACIONES NORMALES
ĭ T ĭa ĭT y ,
Sistema de ecuaciones lineales cuya solución da los coeficientes ak. Así la APROXIMACIÓN resulta Pm(x)= 6 ak Ik(x) con k=0,m
Dr. Ing. A.Mirasso Interpolación y Aproximación Año 2014 14 de 15
Facultad de Ingeniería, Universidad Nacional de Cuyo
r1 ½ ½ § ·
resulta
3 4
° ° ° ° ¨ ¸ a 0 ½
®r2 ¾ ® ¾¨ ¸® ¾
°̄r ° °̄ ° ¨ ¸¯ a1 ¿
3¿ ¿ © ¹
El sistema de ecuaciones normales ĭ T
ĭa ĭT y resulta
§ ·a0 ½ ½
¨¨ ¸¸® ¾ ® ¾
© ¹¯ a1 ¿ ¯ ¿ de donde se tiene que a0 a1
1
El Polinomio de Aproximación usando la Base de Polinomios elementales {1, x}
es Pa( x) x
INTEGRACIÓN NUMÉRICA
Planteo de Problema
Ejemplos
INTEGRACIÓN NUMÉRICA
El propósito es abordar el cálculo de integrales definidas de funciones.
Se asume que:
la función y = f(x): R ĺ R, no singular, continua (al menos por tramos), es conocida en forma
x x
x0 xi xn x0 xi xn
³ f ( x)dx ¦ w ¦w
es posible calcular la integral definida de la y=f(x) como una combinación lineal:
f ( xk ) yk ,
b
I k k
a k 0, N k 0,N
donde los coeficientes wk son valores particulares para cada regla de integración y los yk=f(xk) son los valores
de la función discreta.
INTEGRACIÓN NUMÉRICA
Si f(x) está dada en forma discreta es posible interpolar f(x) colocando un polinomio Pn(x), de grado n,
por los (n+1) puntos datos. Si f(x) está dada en forma analítica se pueden "extraer" esos (n+1) puntos, y
tener la versión discreta de f(x).
Es posible expresar a f(x) como suma del Polinomio de
f ( n1) ([ )
Interpolación mas la función Error de Interpolación y
Pn(x)
Resulta posible obtener la integral en la forma
³ f ( x)dx ³ P ( x) H ( x) dx ³ P ( x)dx ³ H
Xn Xn Xn Xn
I n n n n ( x) dx
E(x)
x
³ ¦w
X0 X0 X0 X0
yk E n In En ,
Xn
x0 xi xn
I f ( x) dx k
X0 k 0, N
³ P ( x)dx ¦ w
f ( n 1) ([ )
yk ³H ³ ( x x0 ) ( x x n ) dx
Xn Xn Xn
(n 1)!
In n k En n ( x) dx
X0 k 0, N X0 X0
¦ y l ( x)
n+1 puntos datos, el polinomio interpolante es
n y
f(x)
Pn ( x) i i
i 0 Pn(x)
³ ¦ y l ( x)dx ¦ ³ y
Así el valor aproximado de la integral
lk ( x) dx
Xn n Xn
In i i k x0
I0(xi)
l0(x)
¦ yk ³ lk ( x) dx ¦y
X0 i 0 k 0, N X 0
wk
Xn
In k x
k 0, N X0 k 0, N x0 xi xn
lk(x)
Ik(xi)
³ (x
(x x j )
³l
resulta
( x) dx dx
Xn Xn n
xj)
wk k
x
x0 xi xn
jzk
X0 X0 j 0 k
(n 1)!
En n ( x) dx
X0
Es una regla de integración de Newton ! Cotes por 2 puntos (xi;yi), (xi+1;yi+1). La integral
³ f ( x) dx
xi 1
I f(x)
xi
x x i 1 x x i 1
donde
x i x i 1 x i 1 x i
li ( x) es una recta que vale 1 en xi y 0 en xi+1, li(x) li+1(x)
x xi
xi 1 xi
li 1 ( x) es una recta que vale 0 en xi y 1 en xi+1. X
ª x xi º
³ ³ H ( x)dx,
x xi 1
Xi Xi+1
» dx
xi 1 xi 1
« i
¬ xi xi 1 xi 1 xi ¼
I y y i 1 1
³ ³ ³ H ( x)dx
x xi 1 x xi
xi xi
yi dx yi 1 dx yi wi yi 1 wi 1 E1
xi 1 xi 1 xi 1
xi xi 1 xi 1 xi
I 1
xi xi xi
ªy y º
y, llamando paso hi a la diferencia xi+1-xi y operando, se puede llegar a
hi « i i 1 » E1 I 1 E1 ,
¬2 2 ¼
I
f ( 2 ) ([ ) f ( 2 ) ([ )
³ H ( x)dx ³ ³ ( x x )( x x
El error de interpolación es
( x xi )( x xi 1 ) dx
xb xi 1 xi 1
E1 1 i i 1 ) dx
2! 2!
[ ( xi ; xi 1 ).
xa xi xi f(x)
siendo
P1(x)
x xi t ( 1)
Se propone hacer un cambio de variable mediante
(x-xi) (x-xi+1)
xi 1 xi 1 ( 1) , X
Xi Xi+1
x xi h (t 1) / 2
Definiendo h=xb-xa, es posible despejar,
x xi 1 h(t 1) / 2
t
dx ( h / 2) dt
Así se puede hallar -1 1
f ( 2 ) ([) § 1 · 3
¨ h h f ([)
1 3 ( 2)
2! © 6 ¹̧ para cierto punto [ (xa, xb).
E1
12
³ f ( x)dx .
y
Se busca I R,
Xn
I f(x)
X0
P1(x)
³ f ( x) dx ³ f ( x)dx ³ f ( x) dx .
X1 X2 Xn
I x
X0 X1 X n 1 xn x0
y 0 y1 y1 y 2 y n1 y n
En cada uno de los n subintervalos se aplica la regla de los trapecios, se aplica trapecios simple
E1 (h0 ) h1 E1 (h1 ) .............. hn 1 E1 (hn 1 ) .
3 3 3
I h0
2 2 2
Si todos los intervalos tienen igual longitud hi=h, esa fórmula se simplifica y se tiene la regla de
trapecios múltiple:
h « ¦ y i n » E 1M ¦
ª y 0 n 1 y º hª n 1
º
« n » E 1M ,
¬2 i1 2¼ 2¬ ¼
I y 0 2 y i y
i 1
donde E1M es el error total que se acumula al sumar los n errores provenientes de la aplicación de
xn x0 h 2 f ( 2) ([ )
la regla en cada subintervalo, y está dado por
E1M
12
Dr. Ing. A.Mirasso Integración Numérica Año 2014 7 de 15
Facultad de Ingeniería, Universidad Nacional de Cuyo
S
= cos 0 cos S = 2
I
Se busca resolver 0
I ³ sen( x )dx ¦
h ª º
0
S n 1
§2 « 0 n» S ,
h
¬ ¼
y 2 y i y
0 i 1 2
donde yi = sen (xi), i=0,},n.
X Y=sen(x) h1 = ʌ h2 = ʌ/2 h3 = ʌ/4
0 0 1 1 1
ʌ/4 2/2 0 0 2
ʌ/2 1 0 2 2
3ʌ/4 2/2 0 0 2
ʌ 0 1 1 1
0 S1 S2 S3
³0 sen(x)dx
S
I
Extrapolación de Richardson para el ejemplo
A partir de dos valores aproximados de la Integral, obtenidos con la misma Regla y pasos
distintos, es posible encontrar un valor mejorado mediante Extrapolación de Richardson.
E I ( h 2 ) I( h 1 ) § h1 ·
E ¨¨ ¸¸
n
E 1 © h2 ¹
I
con
³ sin(2x) dx
1
3S / 2 3S / 2
n 16 n 8 n 4 n 2 n 1
h 0,294524311 h 0,58905 h 1,1781 h 2,35619 h 4,7124
w w* Sin(2x) w w* Sin(2x) w w* Sin(2x) w w* Sin(2x) w w* Sin(2x)
1 0 1 0 1 0 1 0 1 0
2 1,111140466
2 1,847759065 2 1,84776
2 1,961570561
2 1,414213562 2 1,41421 2 1,4142
2 0,390180644
2 -0,765366865 2 -0,7654
2 -1,662939225
2 -2 2 -2 2 -2 2 -2
2 -1,662939225
2 -0,765366865 2 -0,7654
2 0,390180644
2 1,414213562 2 1,41421 2 1,4142
2 1,961570561
2 1,847759065 2 1,84776
2 1,111140466
1 2,1439E-15 1 2,1E-15 1 2E-15 1 2,1E-15 1 2E-15
Integral 0,970916536 0,88157 0,488 -2,3562 5E-15
h 0,294524311 0,58905 1,1781 2,35619 4,7124
1,50000 1,50000 1,50000 1,50000
³ sin(2x) dx
1
3S / 2 3S / 2
E I( h 2 ) I( h 1 ) § h1 ·
0 0
E ¨¨ ¸¸
n
E 1 © h2 ¹
I
con
³ f ( x)dx ,
X2
I f(x)
X0
x 0 x1 x 0 x 2 x1 x 0 x1 x 2 x 2 x 0 x 2 x1
l 0 ( x) l1 ( x ) l 2 ( x) l0(x)
H 2 ( x) x x 0 x x1 x x 2
( 3)
f
¦yZ
X
³ l ( x)dx, i ³H
3"
Zi
2 x2 x2 X0 X1 X2
I2 i i i 0,1,2. E 2 2 ( x) dx l1(x)
i 0 x0 x0
ª1 1 º h5 ( 4)
X0 X1 X2
h « y0 y1 y2 » f ([ )
l2(x)
4
¬3 3 ¼ 90
I
3 X
X0 X1 X2
³ h ³ G (t ) dt h¨ ¦ Z i G (t i ) R h¦ Z i G (t i ) E
§ n ·
Se busca resolver la
b 1 n
©i 0 ¹̧
I f ( x) dx
1
ba ba
a i 0
G (t ) f (c ( ) t) x c( )t
³ G(t)dt Z1G ( t 1 ) Z 2 G ( t 2 ) R
1
1
Z1, Z2, t1, t2 deben ser tales que el error de integración sea R = 0 a c b
para polinomios de hasta 3º grado. Comparando los resultados
exactos de la integral con el resultado propuesto por la regla, se
tiene:
³ 1dt 2 1Z1 1Z 2
1
ª § 3· § 3 ·º
1
³ tdt Z1 Z2 ¨
h «G ¨ ¸ G¨¨ ¸» E
¸ ¸
t1Z1 t 2 Z 2
1
«¬ © 3 ¹ © 3 ¹»¼
0 1
1
I
t1
³
3
t1 Z1 t 2 Z 2
1
2 t2
t 2 dt
2 2 3
1
3
³ t dt t13Z1 t 2 3Z 2
1
3
0
1
i i
1 i 0
En una regla de n+1 puntos existen 2n+2 coeficientes a determinar, que son los (n+1) wk y las (n+1) abscisas
tk. Se exige que la regla de integración sea exacta cuando integra polinomios de hasta grado 2n+1. Dada una
función polinómica G(t) de hasta grado (2n+1), existen polinomios Cn(t) y rn(t) de grado menor o igual a n,
tales que
G(t)= Cn(t) pn+1(t )+ rn(t)
Siendo pn+1(t ) un polinomio de grado (n+1), que en particular puede ser un polinomio de Legendre. Así es
posible expresar la integral
³ G (t ) dt ³ (C (t ) p n 1 (t ) rn (t )) dt ³C (t ) p n 1 (t )dt ³ rn (t ) dt ³ r (t ) dt ¦ w
1 1 1 1 1
I n n n k rn (t k )
1 1 1 1 1 k 0, n
³ G (t ) dt ³ r (t ) dt ¦ w ¦w
1 1
I n k rn (t k ) k G (t k )
1 1 k 0, n k 0, n
k 0 , n ¬ 1 ¼
I n G ( t ) l ( t ) G ( t )l
k k ( t ) dt
1 1
¦« k ³ k » ¦ wk G(tk )
ª º
³ ³ l (t ) dt
1 1 1
k 0, n ¬ ¼
I G (t ) dt G (t ) l (t ) dt Con wk
1 1
k
k 0, n 1
Es decir que los coeficientes wk son las integrales de los polinomios de Lagrange de grado n+1, definidos por
las (n+1) raíces tk de los polinomios de Legendre de grado n+1. Así resulta,
³ G (t ) dt ¦ w ³ l (t ) dt
1 Siendo Y (tr )raíces del
1
I G (t k ) Polinomio de
k
1
wk k Legendre pn+1(tr )=0
1
k 0, n
DERIVACIÓN NUMÉRICA
Planteo de Problema
Extrapolación de Richardson
Ejemplos
DERIVACIÓN NUMÉRICA
El propósito es abordar el cálculo de derivadas de distinto orden de funciones discretas.
Supuestos
La función y = f(x): R ĺ R, no singular, continua, es conocida en forma
x x
x0 xi xn x0 xi xn
Hipótesis
¦ ck f ( xk ) ¦ ck y k
Es posible calcular la derivada n-ésima de la y=f(x) evaluada en Xj como una suma:
cT y
d n ( f ( x )) & &
D
dx n Xj k 0, N k 0, N
,
Donde los coeficientes ck son valores particulares para cada regla de derivación y los yk=f(xk) son los valores
de la función discreta.
DERIVACIÓN NUMÉRICA
Si f(x) está dada en forma discreta es posible interpolar f(x) colocando un polinomio Pn(x),
de grado n, por los (n+1) puntos datos.
Si f(x) está dada en forma analítica se pueden "extraer" esos (n+1) puntos, para la versión discreta de
f ( n1) ([ )
la función f(x).
E(x)
x
xi xn
¦ ck f ( xk ) E n ¦ ck y k E n
Resulta posible
x0
c T y En
d n ( f ( x)) & &
D
dx n Xj k 0, N k 0, N
DERIVACIÓN NUMÉRICA
Si f(x) está dada en forma discreta con (n+1) puntos, es posible interpolar f(x) colocando un
f ( n1) ([ )
polinomio de grado n. A partir de
( x x0 )( x x1 )........( x xn )
f(x) = Pn(x) + (n 1)!
d n Pn ( x ) H n ( x )
Es posible obtener derivadas hasta de grado n, y evaluarlas en cualquier punto Xj, de la forma:
d n ( f ( x )) y
D
dx n dx n
Pn ( x ) d H n ( x )
Xj Xj
f(x)
n n
d
D Pn(x)
dx n dx n
Xj Xj
D Dn En
Pn ( x )
Resultando
¦c ¦c
E(x)
x
f ( xk ) yk cT y
n
d & &
Dn k k xi xn
dx n
x0
§ f ( n 1) ([ )
k 0,N k 0,N
·
Xj
d ¨¨ ( x x 0 ) ( x x n ) ¸¸
d n H n ( x ) © ( n 1)! ¹
n
Pregunta: ¿Qué cantidad de puntos se necesita para evaluar una derivada primera?, ¿y para una
derivada segunda?
Dr. Ing. A.Mirasso Derivación Numérica Año 2014 4 de 8
Facultad de Ingeniería, Universidad Nacional de Cuyo
DERIVADA PRIMERA
Si f(x) está dada en forma discreta con 2 puntos (x0;y0), (x1;y1) es posible interpolar f(x)
f ( 2 ) ([ )
colocando un polinomio de grado 1, usando polinomios de Newton, en la forma:
f ( x ) a0 a1 ( x x0 ) ( x x0 ) ( x x1 )
P1(x)
y
( 2)!
f(x)
f ( 2 ) ([ ) d (( x x0 ) ( x x1 ))
La derivada primera de f(x) es
a1
d ( f ( x ))
dx ( 2)! dx
f ( 2 ) ([ )
a1 [( x x1 ) ( x x0 )]
d ( f ( x )) x
dx ( 2)! x0 x1
y
n0(x)
Cuando se evalúa la derivada primera de f(x) en x0 y en x1 se obtienen: 1
n1(x)
f ( 2 ) ([ ) y1 y 0
Derivada Primera Adelante
f ( 2 ) ([ ) y1 y 0
Derivada Primera Atrás
DERIVADA SEGUNDA
Si f(x) está dada en forma discreta con 3 puntos (x0;y0), (x1;y1) es posible interpolar f(x)
f ( 3) ([ )
colocando un polinomio de grado 2, usando polinomios de Newton, en la forma:
f ( x ) a0 a1 ( x x0 ) a 2 ( x x0 ) ( x x1 ) ( x x0 ) ( x x1 ) ( x x2 )
(3)!
f ( 3) ([ ) d 2 (( x x0 ) ( x x1 ) ( x x2 ))
La derivada segunda de f(x) es y
2a 2
f(x)
d 2 ( f ( x ))
dx 2
(3)! dx 2 Pn(x)
y 2 y1 y1 y 0
x 2 x1 x1 x 0 1 y 2 y1 y1 y 0
x
x2 x0 2'x 'x 'x
2a 2 2 xn
Con 2 n 2 (x)
y n1(x)
Con lo que la derivadas segunda es
( y 0 2 y1 y 2 ) E D ( x )
d 2 ( f ( x )) 1 n0(x)
dx 2
'x 2
f ( 3) ([ ) d 2 (( x x0 ) ( x x1 ) ( x x2 ))
x
x0 x1 x2
E D ( x)
(3)! dx 2
Derivada Primera es constante en el intervalo; y el Error es lineal.
¿El error será igual a cero en alguno de los puntos datos?
Dr. Ing. A.Mirasso Derivación Numérica Año 2014 6 de 8
Facultad de Ingeniería, Universidad Nacional de Cuyo
Si f(x) está dada en forma discreta con 2 puntos (xs;ys), (xs+1;y s+1) es posible considerar el
desarrollo de Serie de Taylor de y s+1=f(x s+1) alrededor de xs
en la forma: P1(x)
h 4 cv
f s h f sc f scc f sccc f s O h5
y
h2 h3 f(x)
f s 1 ,
2! 3! 4!
de donde se puede despejar la derivada primera en xs
ys+1
ys
x
xs xs+1
f xs nh f xs n h f c xs
nh f cc xs nh f ccc xs nh
2
3
4
f cv xs
O h5
2! 3! 4!
Dr. Ing. A.Mirasso Derivación Numérica Año 2014 7 de 8
Facultad de Ingeniería, Universidad Nacional de Cuyo
Si f(x) está dada en forma discreta con 3 puntos (xs-1;y s-1) (xs;ys), (xs+1;y s+1) es posible
considerar el desarrollo de Serie de Taylor de y s±1=f(x s±1) alrededor de xs
en la forma:
h 4 cv
y
f s h f sc f scc f sccc
h2 h3 f(x)
f s 1 f s ...... ,
2! 3! 4!
h 4 cv
f s h f sc f scc f sccc
P2(x)
h2 h3
f s 1 f s .....
>D f s 1 E f s J f s 1 @
2! 3! 4! x
y con ello se puede plantear en xs la derivada segunda de f(x) como
xs-1 xs xs+1
fs ''
f xs nh f xs n h f c xs
nh f cc xs nh f ccc xs nh
2
3
4
f cv xs
O h5
2! 3! 4!
Ejemplos
Resumen
A u (t ) 0, A R,
du (t ) u0
dt
u (t0 ) U 0 , u(t)
U1
U2 U3 t
La solución discreta es tal que aproxima a la
Uk # u(tk)
solución exacta del problema t0 t1 t2 t3
u (t ) 0,
^x H R : 0 d x d 1`
d 2 u (t ) g
u ( x) x en :
dt 2
L d 2 u ( x)
2
0
du (t ) dx
u (t 0 ) u 0 , v0 u (0) 0 u (1) 0
dt t 0
u(t) U(x)
u0
U1 U2 U1 U2 U4
U3 t U0 U3 X
X1 X2 X=3
t1 t2 t3 X=1
Uk # u(tk) Uk # u(xk)
La solución discreta es tal que aproxima a la solución exacta del problema
d 2 u ( x)
2
u ( x) x 0 en : ^x H R : 0 d x d 1`
dx
u ( 0) 0
u (1) 0
se plantea encontrar una solución aproximada en forma de función discreta, sólo en algunos
puntos elegidos del dominio : , equidistantes entre sí, identificados con su abscisa Xk.
Es decir, se busca U(Xk)=Uk con k=0,N; función discreta que es una aproximación de la función
continua u(x).
U(x)
U1 U2 U4
U0 U3 X
^x H R : 0 d x d 1`
U(x)
u ( x) x en :
d 2 u ( x)
0
dx 2
u (0) 0 U1 U2 U4
U0 U3 X
u (1) 0
X=0,25 X=0,5 X=0,75 X=1
De estas ecuaciones se pueden plantear tantas como puntos interiores; es decir N-1 ecuaciones y
se tienen N+1 incógnitas.
Además se tienen las dos ecuaciones correspondientes a las Condiciones de Contorno, que
agregan dos ecuaciones más.
Así se tienen N+1 ecuaciones con N+1 incógnitas.
d 2 u ( x)
u ( x) x 0 en : ^x H R : 0 d x d 1` U(x)
dx 2
u (0) 0
u (1) 0 U1 U2 U4
U0 U3 X
Si se consideran 5 puntos en todo el dominio, que son 3 en el interior y uno en cada uno de los bordes, es posible plantear
en X0 se debe cumplir que: U0 0
« 1 ¨ ¸ ¨ ¸» ° ° « 16 32 1 16 » °U ° ° °
« 0,252 ¨ 1 2 1¸ ¨ 0 1 0 ¸» ®U 2 ¾ « » ® 2¾ ® 0,5 ¾
«¬ ¨ 0 1 2 ¸¹ ¨© 0 0 1 ¸¹»¼ °̄U 3 °¿ «¬ 0 16 32 1»¼ °̄U 3 °¿ °̄0,75°
© ¿
U 1 ½ 0,03488525½
° ° ° °
La solución aproximada resulta ®U 2 ¾ ®0,05632582¾
°̄U ° °̄0,05003676°
3¿ ¿
Dr. Ing. A.Mirasso Ec.Dif. con Valores de Contorno Año 2014 6 de 14
Facultad de Ingeniería, Universidad Nacional de Cuyo
d 2 u ( x)
u ( x) x 0 en : ^x H R : 0 d x d 1` U(x)
dx 2
u (0) 0
u (1) 0 U1 U2 U4
U0 U3 X
U 0 ½ ½
La solución aproximada completa, que incluye las condiciones de borde es:
°U ° °0,03488525 °
0
°° 1 °° °° °°
®U 2 ¾ ®0,05632582 ¾
°U ° °0,05003676 °
° 3° ° °
°¯U 4 °¿ °¯ 0 °¿
U 0(1) ½ ª 3 4 1 0 0º ½
Justificar que con la solución obtenida una aproximación de la función derivada primera de esta solución se puede calcular mediante:
° (1) ° « 1 0 0» °0,03488525 °°
» °
0
°°U 1 °° « 1 0
° °
®U 2 ¾ « 0 1 0 0» ®0,05632582 ¾
1
°U (1) ° (2 * 0,25) « »
1» °0,05003676 °
(1)
1
«0 0 1 0
° 3 ° ° °
°¯U 4(1) °¿ «¬ 0 0 1 4 3»¼ °¯ 0 °¿
Caso N=2
>U 0 2 U 1 U 2 @ U 1 X 1
U0 0 en X 0
1 U(x)
0 en X 1
0,5 2
U1 0 en X 1
U1 U1
U0 X
O bien
9 U 1 0,5 0X=0,5 X=1
La solución aproximada es
U1 1 / 18 0,055555
Así el error respecto de la solución exacta en ese punto es
(0,5
1 senh(0,5)
E2 ) 0,001035002
18 senh(1)
(0,5 ) /(0,5
1 senh(0,5) senh(0,5)
E (abs ) 2 ) 1,83%
18 senh(1) senh(1)
Caso N=4
>U 0 2 U 1 U 2 @ U 1 X 1 0
U0 0 en X 0
1 U(x)
en X 1 0,25
>U 1 2 U 2 U 3 @ U 2 X 2 0
0,5 2
1
en X 2 0,5
U1 U2 U4
>U 2 2 U 3 U 4 @ U 3 X 3 0
0,5 2 U0 U3 X
1
en X 3 0,75 X=0,2 X=0,5 X=0,7 X=1
0,5 2
U4 0 en X 4
O bien
ª 33 16 0 º U 1 ½ 0,25½
« 16 33 16» °U ° ° °
« » ® 2¾ ® 0,5 ¾
«¬ 0 16 33 »¼ °̄U 3 °¿ °̄0,75°
¿
La solución aproximada es
U 1 ½ 0,03488525½
° ° ° °
®U 2 ¾ ®0,05632582¾
°̄U ° °̄0,05003676°
3¿ ¿
Así el error respecto de la solución exacta en ese punto es
U 2 (0,5
senh(0,5)
E4 ) 0,000264735
senh(1)
U 2 (0,5 ) /(0,5
senh(0,5) senh(0,5)
E (abs ) 4 ) 0,47%
senh(1) senh(1)
Caso N=8
U0 0 en X 0 0
1
>U 0 2 U 1 U 2 @ U 1 X 1 0 en X 1 1 / 8
(1 / 8) 2
1
>U 1 2 U 2 U 3 @ U 2 X 2 0 en X 2 2 / 8
(1 / 8) 2
1
>U 2 2 U 3 U 4 @ U 3 X 3 0 en X 3 3 / 8
(1 / 8) 2
……….
U8 0 en X 8 1
O bien
ª 129 64 º U1 ½ 1 / 8 ½
« 64 129 64 » °U ° °2 / 8°
0 0 0 0 0
« 0 0 0 0 » ° 2° ° °
« 0 64 129 64 » °U 3 ° °3 / 8 °
« » ° ° ° °
0 0 0
« 0 64 129 64 » °U 4 ° °4 / 8°
« 0 » ®U 5 ¾ ® ¾
0 0 0
64 129 64
« » ° ° °5 / 8 °
» °U 6 ° °6 / 8 °
0 0 0
« 0 64 129 64
« 0 » °U ° ° °
0 0 0
64 129
« » ° 7° °7 / 8°
»¼ °¯ °¿ ° °
0 0 0 0
¬« ¯ ¿
U 4 (0,5 ) /(0,5
senh(0,5) senh(0,5)
E (abs ) 8 ) 0,12%
senh(1) senh(1)
N 'x
Cuyas evaluaciones se presentan en la siguiente Tabla
Uaprox(0,5) EN E(abs)N
2 0,5 0,05555556 0,001035002 1,83%
4 0,25 0,05632582 0,000264735 0,47%
8 0,125 0,05652399 6,65711E-05 0,12%
Si se asume una relación exponencial entre E(abs) N y 'x, la aproximación por mínimos
16 0,0625 0,05657389 1,66672E-05 0,03%
wx 2 wt 2
u (0, t ) 0 u ( x,0) sin(S x)
wu
wt
u (1, t ) 0 ( x,0) 3
wx 2 wt 2
U1(t) U2(t) U3(t)
wu
U0(t) 0,25 0,5 0,75 X
wt
u (1, t ) 0 ( x,0) 3 X=1
>U 0 (t ) 2 U 1 (t ) U 2 (t )@ ( X 1 ) 2
2
12 2 d U 1 (t )
en X1 se debe cumplir que: 0
0,25 2 dt
>U 1 (t ) 2 U 2 (t ) U 3 (t )@ ( X 2 )
2
12 2 d U 2 (t )
en X2 se debe cumplir que: 0
0,25 2 dt 2
>U 2 (t ) 2 U 3 (t ) U 4 (t )@ ( X 3 )
2
12 2 d U 3 (t )
en X3 se debe cumplir que: 0
0,25 2 dt 2
wx 2 wt 2
U1(t) U2(t) U3(t)
wu
U0(t) 0,25 0,5 0,75 X
wt
u (1, t ) 0 ( x,0) 3 X=1
d 2U 1 (t ) ½
° °
ª 2 1 0 º U 1 (t ) ½ ª0,25 0 º ° 2dt ° 0½
° ° « » ° d U 2 (t ) ° ° °
2
12 «
1 2 1»» ®U 2 (t )¾ « 0
2
0
2 «
0 »® ¾ ®0¾
«¬ 0 1 2 »¼ °̄U 3 (t ) °¿ «¬ 0 2 »° dt 2 ° °̄0°
0,50 2
0,75 ¼ d 2U (t )
° ° ¿
0,25
0
° dt 2 °
¯ ¿
3
dU 1 ½
° ( 0) °
U 1 (0) ½ sen(S 0,25)½ ° dt °° °3½°
° ° ° ° ° dU 2
con las condiciones iniciales ®U 2 (0)¾ ®sen(S 0,50) ¾ y ® (0)¾ ®3¾
°̄U (0) ° °̄sen(S 0,75) ° ° dt ° °̄3°
¿ ¿ ° dU 3 ¿
( 0) °
°¯ dt °¿
3
Este sistema se puede resolver con métodos analíticos o con métodos numéricos.
Ejemplos
Resumen
du (t ) du (t )
Se busca obtener una solución aproximada en forma discreta de la siguiente EDO
° ° A u (t )
® dt ® dt
f (t , u (t )) u(t)
°̄ u (t 0 ) U 0 °̄ u (t 0 ) U 0 u(t)
Forma genércia. Ejemplo u0
uk # u(tk)
La solución discreta es tal que aproxima a la solución u1
exacta del problema
u2 u3 t
t0 t1 t2 t3
Solución en base a Serie de Taylor
' t d 2u
u (tk 't ) u (tk ) 't ..........
du
en tk se conoce uk y sus derivadas
dt tk 2 dt 2 tk
(u n 1 u n 1 ) O('t 2 )
du (t ) 1
dt tn 't
Métodos basados en Integración Numérica
³ du ³ ub ua ¦w f (tk , uk ) O('t p )
ub b
NP
se considera la integral definida f (t , u (t )) dt k
ua a k 1
° ° A u (t )
u(t)
® dt ® dt
f (t , u (t ))
°̄ u (t 0 ) U 0 °̄ u (t 0 ) U 0
u0
u1 u2 u3 t
Solución en base a Serie de Taylor
t0 t1 t2 t3
't 2 d 2u
u (t k 't ) u (t k ) 't ..........
du
dt tk 2 dt 2 t
wf (t , u (t )) wf (t , u (t )) du
k
du (t ) d 2 u (t )
wt wu
en tk se conoce uk y f (t k , u (t k )) f (t k , u k ) fk
dt tk dt 2 tk dt tk
't 2 § wf (t , u (t )) wf (t , u (t )) du ·
Solución de Segundo Orden
du (t )
Se busca obtener una solución aproximada de la EDO
°
® dt
f (t , u (t ))
°̄ u (t 0 ) U 0
Métodos basados en Derivación Numérica
(u n1 u n ) O('t )
du (t ) 1 u(t)
EULER Adelante considera que dt tn 't un+1
du (t )
f (t n , u n ) 't fn
dt tn u(t)
un 't f (t n , un ) O('t 2 )
un
un1
t n 't
un
t n1 EXPLÍCITO t
(u n 1 u n ) O('t )
du (t ) 1
't
tn tn+1
EULER Atrás considera que dt tn 1
du (t )
f (t n 1 , u n 1 )
dt tn 1
2 t y (t ) 2
u(t)
dy (t )
't fn
con y (0) 1 un+1
yex (t ) 1 /(1 t )
dt
2 u(t)
tiene la solución exacta un
Se busca obtener una solución aproximada de la EDO un
mediante el Método de EULER ATRÁS
t m1 t m 't
Obtener una solución aproximada en el intervalo >0,1), con el método de Euler Atrás y el paso 't=0.25
Identificar la función f(t,y).
2 t y (t )
u(t)
dy (t )
't fn
con y (0) 1 un+1
yex (t ) 1 /(1 t )
dt tiene la solución
2 u(t)
exacta un
Se busca obtener una solución aproximada de la EDO un
mediante el Método de EULER ADELANTE t
Dado (tm, ym),
't f t m , ym
la nueva solución (tm+1, ym+1) se calcula con tn tn+1
k1
ym1 ym k1
t m1 t m 't
Obtener una solución aproximada en el intervalo >0,1@, con el método de Euler adelante y el paso 't=0.25:
Identificar la función f(t,y).
MÉTODO DE EULER-EJEMPLO
yex (t ) 6 e 2t
La Ecuación diferencial ordinaria de primer orden
t / 2
dy (t ) y (t ) t
con y (0) 4 tiene la solución exacta
dt 2 2
Se busca obtener una solución aproximada de la EDO
mediante el Método de EULER (ADELANTE)
u(t)
't fn
Dado (tm, ym), un+1
't f t m , ym
la nueva solución (tm+1, ym+1) se calcula con
u(t)
k1
ym k1
un
ym1 un
t m 't
t
t m1
tn tn+1
Obtener una solución aproximada en el intervalo >0,1@, con el método de Euler adelante y el paso 't=0.25:
Identificar la función f(t,y).
Conocido t m , y m
y=zeros(NDt,1); % vector para y(t)
% Inicialización
't f t m , y m
t(1)=t0;
y(1)=y0;
k1
y m k1
% EULER
for j=1:NDt-1
y m 1
t m 't
k1=Dt*(-(1/2)*y(j) + (1/2)*t(j));
y(j+1) = y(j)+k1; t m 1
t(j+1) = t(j)+Dt;
end
% Graficación
figure(1)
plot(t,y(:,1),'b');
end
MÉTODO DE EULER-EJEMPLO
yex (t ) 6 e 2t
La Ecuación diferencial ordinaria de primer orden
t / 2
dy (t ) y (t ) t)
con y (0) 4 tiene la solución exacta
dt 2 2
Con 't=0.01 se obtienen las siguientes gráficas
Solución de EDO
-3
9 x 10
6
y aprox
y exacta
8
5
7
4
6
3
5
2
4
1
3
0
0 1 2 3 4 5 6 7 8 9 10
2
0 1 2 3 4 5 6 7 8 9 10
du (t )
Se busca obtener una solución aproximada de la EDO
°
® dt
f (t , u (t ))
°̄ u (t 0 ) U 0
Métodos basados en Derivación Numérica
(u n 1 u n 1 ) O('t 2 )
du (t ) 1
Punto Medio considera que dt tn 2't
du (t )
f (t n , u n ) u(t)
dt tn
un+1 u(t)
2't fn
un
un1 un1 2't f (tn , un ) O('t ) 3
t n 't
un-1
tn1 un-1 t
Método Multipaso tn-1 tn tn+1
Orden del Error es 3
)
y(x) fm E
y m 't ) (t m , y m , 't )
se busca calcular la nueva solución (tm+1, ym+1) G
y m1 fG
t m 't
yG
t m1
b2 't fm
LG Y=Y(x)
ym+1
't )
Siendo
tG (tm b1 't)
A
ym
yG ( ym b2't fm ) tm tG tm+1 t
b1't
b2 't
't
f (tm , ym )
Se expande en Taylor
f (tG , yG )
wf wf
(b1't) (b2't f m ) O('t 2 )
wt tm wy t
° wf wf ½
m
2 °
't )(tm , ym , 't) 't ®(a1 a2 ) f (tm , ym ) a2 (b1't) a2 (b2 't f m ) O('t )¾
°̄ wt tm wy t °¿
m
)
Dado (tm, ym) fm E
L1
y(x)
y m 't ) (t m , y m , 't )
se busca calcular la nueva solución (tm+1, ym+1) G fG
y m1 yG
t m 't b2 't
LG Y=Y(x)
t m1 ym+1
't
)
)(tm , ym , 't) a1 f (tm , ym ) a2 f (tG , yG )
Siendo
A
ym
tG (tm b1 't) tm+1 t
yG ( ym b2't fm )
tm tG
b1't b2 't
't
° wf wf ½
2 °
't )(tm , ym , 't) 't ®(a1 a2 ) f (tm , ym ) a2 (b1't) a2 (b2't fm ) O('t )¾
°̄ wt tm wy °¿
wf wf
tm
't 2 § wf (t , u (t )) wf (t , u (t )) du ·
Se compara con la solución por Serie de Taylor
a2 Z z 0
L1
)
De comparar las series se obtiene que
a a 1
y(x) fm E
a2 b1 1 / 2 a1 1 Z
1 2 G
fG
yG
a2 b2 1 / 2
o bien
b2 't fm
LG
2Z
1 Y=Y(x)
b1 b2
ym+1
't )
)
Dado (tm, ym)se calcula
y m 't ) (t m , y m , 't )
la nueva solución (tm+1, ym+1) A
ym
y m1
t m1 t m 't tm tG tm+1 t
b1't
b2 't
't f xm , y m
t m 't /( 2Z )
mediante
't
tG
ym
k1
2Z
1
't f tG , yG
yG k1
ym 1 Z k1 Z k2
k2
ym1
t m1 t m 't
·º ½
y m 't ®1 Z f t m , y m Z f «¨ t m f t m , y m » ¾ O('t 3 )
ª§ 't · § 't
que es equivalente ha obtener:
, ¨ ym
¯ ¬© 2Z ¹̧ © 2Z ¹̧¼ ¿
y m1
)
Dado (tm, ym), la nueva solución (tm+1, ym+1) fm
L1
't f xm , y m
E
se calcula con y(x)
G
k1 fG
t m 't /( 2Z )
yG
b2 't fm
LG Y=Y(x
tG
yG y m
ym+1 )
2Z 't
1
)
k1
k 2 't f tG , yG
A
y m 1 Z k1 Z k 2
ym
y m1
t m 't
tm tG tm+1 t
b1't
t m1
Método de EULER MODIFICADO con Z=1 b2 't
't
k1 't f t m , y m
Dado (tm, ym), la nueva solución (tm+1, ym+1) se calcula con
tG t m 't / 2 Y(t) E
y m k1 / 2
L1
't f t G , yG
LC
yG G ll LC
YG
k2 Ym+1
ym k 2 h)
Y=Y(t)
ym+1 B
y m 1
t m 't
Ym A
t m1
t
't 't
tm tG tm+1
/2
k1 't f t m , y m
LC
yG G
y=y(t)
tG t m 't / 2 yexm+1
y m k1 / 2 't )
B ll LC
ym+1
't f t G , yG
yG
A
k2 ym
y m 1 ym k 2
t m1 t m 't
tm tm+1
't/2
tG t
EJEMPLO 't
yex (t ) 6 e t / 2 2 t
La Ecuación diferencial ordinaria de primer orden
dy (t ) y (t ) t
con y (0) 4 tiene la solución exacta
dt 2 2
Obtener una solución aproximada en el intervalo >0,1@, con el método de Euler adelante y el paso 't=0.25:
Se busca obtener una solución aproximada de la EDOmediante el Método de EULER MODIFICADO
y0=4; % Valores Iniciales dy (t ) y (t ) t
t0=0;
Dt=0.01; % incremento de tiempo dt 2 2
NDt=1000; % cantidad de Dt a realizar con y (0) 4
% Dimensionamiento
t=zeros(NDt,1); % vector para tiempo
't f t m , y m
y=zeros(NDt,1); % vector para y(t)
% Inicialización
t(1)=t0; k1
t m 't / 2
y(1)=y0; w=1
tG
y m k1 / 2
% EULER
't f t G , yG
for j=1:NDt-1
k1=Dt*(-(1/2)*y(j) + (1/2)*t(j));
yG
yg = y(j) + k1/(2*w); k2
ym k 2
tg = t(j) + Dt/(2*w);
y m1
t m 't
k2=Dt*(-(1/2)*yg + (1/2)*tg);
y(j+1) = y(j)+(1-w)*k1+w*k2; t m1
t(j+1) = t(j)+Dt;
end
% Graficación
figure(1)
plot(t,y(:,1),'b');
end
Dr. Ing. A.Mirasso Ec.Dif. con Valores de Contorno Año 2014 16 de 20
Facultad de Ingeniería, Universidad Nacional de Cuyo
MÉTODO DE EULER-MODIFICADO
yex (t ) 6 e 2t
La Ecuación diferencial ordinaria de primer orden
t / 2
dy (t ) y (t ) t)
con y (0) 4 tiene la solución exacta
dt 2 2
Con 't=0.01 se obtienen las siguientes gráficas
Solución de EDO
-5
9 x 10
1
y aprox
y exacta 0.9
8
0.8
7
0.7
0.6
6
0.5
5 0.4
0.3
4
0.2
3 0.1
0
0 1 2 3 4 5 6 7 8 9 10
2
0 1 2 3 4 5 6 7 8 9 10
)
L1
Dado (tm, ym), la nueva solución (tm+1, ym+1) y(x) fm E
't f xm , y m
G
se calcula con fG
k1 yG
t m 't /( 2Z ) 2 't fm
LG Y=Y(x
tG ym+1 ) b
ym 't
2Z )
1
yG k1
't f tG , yG
A
ym
y m 1 Z k1 Z k 2
k2
y m1 t
t m 't
tm tG tm+1
t m1 b1't b2 't
Método de EULER MEJORADO con Z=1/2 't
k1 't f xm , y m
Dado (tm, ym), la nueva solución (tm+1, ym+1) se calcula con
t m 't
Y(x)
L1 Lp ll Lp
tG
y m k1
L2
't f t G , yG
Ym+h Y’m E
yG Y=Y(x)
Ym+1
h)
k2 ym+1
y m (k1 k 2 ) / 2
B
y m 1
t m 't
Ym A
t m1
X
Xm Xm+1
h
y(t)
se calcula con Z=1/2
Dado (tm, ym), la nueva solución (tm+1, ym+1)
k1 't f xm , y m
Lp
L1 ll Lp
L2
ym+k1
t m 't
E
tG
y m k1
yexm+1 y=y(t)
't f t G , yG 't )
yG ym+1 B
k2
y m (k1 k 2 ) / 2
A
ym
y m 1
t m1 t m 't tm+1 t
't
tm
yex (t ) 6 e t / 2 2 t
EJEMPLO la EDO
dy (t ) y (t ) t
con y (0) 4 tiene la solución exacta
dt 2 2
Obtener una solución aproximada en el intervalo >0,1@, con el método de Euler adelante y el paso 't=0.25:
Se busca obtener una solución aproximada de la EDOmediante el Método de EULER MEJORADO
du (t )
Se busca obtener una solución aproximada en forma discreta de la siguiente EDO
°
® dt
f (t , u (t )) u(t)
°̄ u (t 0 ) U 0 u(t)
un-1
Métodos basados en Integración Numérica un
³ du ³
se considera la integral definida un+1 t
un 1 tn 1
tn-1 tn tn+1
f (t , u (t )) dt
un1
2
Método Implícito de un paso
Solución de ecuación no lineal
Corrector iterativo de una Predicción con algún método explícito
Ejemplos
Resumen
di1 ½
comportamiento son las siguientes:
° dt °
RS L1 L2 C2
° dV ° ª RS / L1 1 / L1 º i1 ½ Ve / L1 ½
i1(t) RL VD(t)
° C ° « 1/ C » °V ° ° 0 °
0 0 Ve(t) i2(t)
° dt ° « 1/ C2 ° C° ° °
C
»
1
® di ¾ ® ¾® ¾
0 0
° ° « » ° i2 ° ° 0 °
1
° dt ° «¬ 0 »
1 / C 2 1 / RL C 2 ¼ °¯VD °¿ °¯ 0 °¿
2 0 1 / L2 0 1 / L2
° dVD °
0
°¯ dt °¿
Circuitos RL y RC (Zill,G. Cullen, M. Ecuaciones Diferenciales con Problemas de Valores de Frontera, Thomson Learning, 2002).
Se trata de circuitos de tipo RL; es decir, con resistencias R, inductancias L, y RC con resistencias y capacitores C. Cuando se consideran como
incógnitas las corrientes, se tiene que las ecuaciones resultantes son las siguientes:
i2(t)
L1 ( R1 R2 ) i2 (t ) R1 i3 (t ) Ve(t )
di2 (t ) R1 i1(t) i3(t)
dt
L2 3 R1 i2 (t ) R1 i3 (t ) Ve(t )
di (t ) L1 L2
Ve(t)
i1 (t ) i2 (t ) i3 (t )
dt R2
L 1 R i2 (t ) Ve(t )
di (t ) i1(t) i3(t)
dt L i2(t)
RC 2 i2 (t ) i1 (t ) 0
di (t ) R C
i1 (t ) i2 (t ) i3 (t )
dt Ve(t)
cantidad de antihistaminas que ingresan desde el aparato digestivo. Con una cierta cantidad inicial de antihistaminas
k 2 y (t ) k1 x (t )
dy (t )
dt
y ( 0) y 0
Otra forma de expresar las ecuaciones diferenciales es en la siguiente forma matricial.
dx(t ) ½
° dt ° ª k1 0 º x(t ) ½ x ( 0) ½ x0 ½
® dy (t ) ¾ «k ® ¾ ® ¾ ® ¾
°̄ ° ¬ 1 k 2 »¼ ¯ y (t )¿ ¯ y ( 0) ¿ ¯ y0 ¿
con
dt ¿
k 3 y (t ) k1 x(t ) k 3 y (t ) k1 x(t ) k 2 y (t )
dx(t ) dy (t )
dt dt
x ( 0) x 0 y (0) y 0
dx(t ) ½
Otra forma de expresar las ecuaciones diferenciales es en la siguiente forma matricial.
° dt ° ª k1 º x(t ) ½ x(0) ½ x0 ½
® dy (t ) ¾ «k ® ¾ ® ¾ ® ¾
k 2 k 3 »¼ ¯ y (t )¿
k3
°̄ ° ¬ 1 ¯ y (0)¿ ¯ y0 ¿
con
dt ¿
En este caso se debe resolver las dos incógnitas en forma simultánea con las dos ecuaciones.
tn tn+1
't f t m , y m
Método de Euler: Dado (tm,ym)
k1
y m 1 y m k1
t m 1 t m 't
Dr. Ing. A.Mirasso Ec.Dif. con Valores de Contorno Año 2014 5 de 13
Facultad de Ingeniería, Universidad Nacional de Cuyo
ym
y2 3 2,8076 2,6292
2Z
1
yG k1
't f tG , yG
k1 _y1 0,01*(-10*5+4*3)=-0,38
_y2 0,01*( -4*5+0*3)=-0,2
y m 1 Z k1 Z k 2
k2
y m 1
t m 't
tg 0+0,01/2=0,005
yg1 5 -0,38/2= 4,81 t m 1
yg2 3 -0,2/2= 2,9
k2 _y1 0,01*(-10*4,81+4*2,9)= -0,365
_y2 0,01*( -4*4,81+0*2,9)= -0,1924
tg 0+0,01
y1_(n+1) 5 -0,365= 4,635
y2_(n+1) 3 -0,1924= 2,8076
% Datos
y10=5; % Valores Iniciales
y20=3;
t0=0;
Dt=0.01; % incremento de tiempo
NDt=200; % cantidad de Dt a realizar
% Dimensionamiento
t=zeros(1,NDt); % vector fila para el tiempo
y=zeros(2,NDt); % Matriz para el vector solución y(t)
yg=zeros(2,1); % Vector columna auxiliar
ya=zeros(2,1);
k1=zeros(2,1);
k2=zeros(2,1);
% Inicialización del primer estado solución
t(1)=t0;
y(1,1)=y10;
y(2,1)=y20;
% Euler % Euler Modificado
for j=1:NDt-1 for j=1:NDt-1
ya=y(:,j); ya=y(:,j);
ta=t(j); ta=t(j);
for i=1:NDt
yex(i)=(1/3)*exp(-2*t(i))+(14/3)*exp(-8*t(i)); er(i)=abs(yex(i)-y(1,i));
end
normer=norm(er,inf)
figure(1)
plot(t,y(1,:),'b', t,yex(1,:),'r');grid on
end
Dr. Ing. A.Mirasso Ec.Dif. con Valores de Contorno Año 2014 7 de 13
Facultad de Ingeniería, Universidad Nacional de Cuyo
% Datos
y10=5; % Valores Iniciales
y20=3;
t0=0;
Dt=0.01; % incremento de tiempo
NDt=200; % cantidad de Dt a realizar
% Dimensionamiento
t=zeros(1,NDt); % vector fila para el tiempo
y=zeros(2,NDt); % Matriz para el vector solución y(t)
yg=zeros(2,1); % Vector columna auxiliar
ya=zeros(2,1);
k1=zeros(2,1);
k2=zeros(2,1);
% Inicialización del primer estado solución
t(1)=t0;
y(1,1)=y10;
y(2,1)=y20;
% Euler % Euler Modificado % Euler y RK
for j=1:NDt-1 for j=1:NDt-1 for j=1:NDt-1
ya=y(:,j); ya=y(:,j); ya=y(:,j);
ta=t(j); ta=t(j); ta=t(j);
k1=Dt*f_sist_1(ya,ta) k1=Dt*f_sist_1(ya,ta) k1=Dt*f_sist_1(ya,ta)
k1(1,1)= Dt* (-10*ya(1) + 4*ya(2)); k1(1,1)= Dt* (-10*ya(1) + 4*ya(2)); if (w==0)
k1(2,1)= Dt* (-4*ya(1)+0*ya(2)); k1(2,1)= Dt* (-4*ya(1)+0*ya(2)); k2=zeros(2,1)
y(:,j+1) = ya + k1; yg = ya + k1/(2); else
t(j+1) = ta + Dt; tg = ta + Dt/(2); yg = ya + k1/(2*w);
end k2=Dt*f_sist_1(yg,tg); tg = ta + Dt/(2*w);
k2(1,1)= Dt* (-10*yg(1) + 4*yg(2)); k2=Dt*f_sist_1(yg,tg);
figure(1) k2(2,1)= Dt* (-4*yg(1)+0*yg(2)); end
plot(t,y(1,:),'b');grid on y(:,j+1) = ya + k2; y(:,j+1) = ya + (1-w)*k1+w* k2;
end t(j+1) = ta + Dt; t(j+1) = ta + Dt;
end end
end
function [fy]=f_sist_1(z,x)
fy(1,1)=(-10*z(1) + 4*z(2));
fy(2,1)=(-4*z(1)+0*z(2));
end
Se busca obtener una solución aproximada en forma discreta del siguiente SISTEMA de EDO
10 y1 (t ) 4 y 2 (t )
dy1
1 1½ 2*t 14 1 ½ 8*t
® ¾e ® ¾e
dt y1 (0) 5
4 y1 (t ) 0 y 2 (t ) 3 ¯2¿ 3 ¯1 / 2¿
dy 2 , con:
y (t )
y 2 ( 0) 3 , que tiene solución exacta
dt
y1(t) con Dt=0.02 EULER MODIFICADO EULER
Solución de EDO
5 Solución de EDO
y aprox 5
4.5 y exacta y aprox
4.5 y exacta
4
4
3.5
3.5
3
3
2.5
2.5
2
2
1.5 1.5
1 1
0.5 0.5
0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Soluciones Aproximadas
-3
x 10
9 0.16
8 0.14
7
0.12
6
0.1
5
0.08
4
0.06
3
0.04
2
1 0.02
0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Funciones Error
donde T(t) es la posición angular medida respecto de la vertical; T0 la posición inicial y E0 la velocidad
dt
y1 (t ) T (t )
inicial. Si se plantea un cambio de variables tal que
T (t ) 0
y1 (t ) y2 (t )
dT (t ) d 2T (t )
g
entonces y (t )
y
con lo que la EDO es 2 (t )
y2 (t ) 2 L
dt dt 2
Se tiene
y1 (t ) 0 y1 (t ) 1 y2 (t )
y 2 (t ) ( g / L) y1 (t ) 0 y2 (t )
y 1 (t ) y 2 (t )
( g / L) y1 (t )
y 2 (t )
o bien
T (t )½ y1 (t ) ½
® ¾ ® ¾
&
¯T ¿ ¯ 2 ¿
con lo que y (t )
(t ) y (t )
& & y (t ) ½ 0 y1 (t ) 1 y 2 (t ) ½ T (0)½ y1 (0) ½ T 0 ½
f (t , y ) ® 1 ¾ ® ¾ con y (0) ® ¾ ® ¾ ® ¾
¯ y 2 (t )¿ ¯ ( g / L) y1 (t ) 0 y 2 (t )¿
&
¯T (0)¿ ¯ y 2 (0)¿ ¯E 0 ¿
y
u (0)½ 0½
: ® ¾ ® ¾
d 2 u (t ) du (t )
¯u (0)¿ ¯0¿
m c k u (t ) p sen( t ) con
dt 2 dt
Si se plantea un cambio de variables tal que
y1 (t ) u (t )
dy1 (t )
du (t ) lo que implica que y 2 (t )
y 2 (t ) dt
dt
y la EDO se puede escribir
y 1 ( 0) ½ 0½
c y 2 (t ) k y1 (t ) p sen(: t ) ® ¾ ® ¾
dy 2 (t )
¯ y 2 (t ) ¿ ¯0¿
m con
dt
dy1 (t )
d u (t )½ ½ u (0)½ 0½
y 2 (t ) con y1 (0) 0
® ¾ ® ¾ con ® ¾ ® ¾
dt v(t )
dy 2 (t )
( p / m) sen(: t ) (k / m) u (t ) y 2 (0) 0
dt ¯v(t ) ¿ ¯( p / m) sen(: t ) (k / m) u (t )¿ ¯v(0) ¿ ¯0¿
dt
(: / Z ) sen(Z t ) sen(: t )½
La solución exacta de este problema es
t H >0;f
u (t )½
® ¾ ® ¾ con Z
¯ : ( cos(Z t ) cos(: t )) ¿
p
k 1 (: / Z ) 2
1
¯v(t ) ¿
2
k/m
u (0)½ A½
° ° ° °
a0 u (t ) b(t ) con ®u (0)¾ ®B¾
d 3u (t ) d 2 u (t ) du (t )
°̄u(0)° °̄C °
a3 a a
¿ ¿
2 1
dt 3 dt 2 dt
° ° ° °
dt
°̄ y (0) ° °̄C °
y3 (t )
¿ ¿
dt
(a 2 / a3 ) y3 (t ) (a1 / a3 ) y 2 (t ) (a0 / a3 ) y1 (t ) b(t ) / a3
dy3 (t ) 3
dt
dy1 (t ) ½
° dt °
°° dy (t ) °° ª º y1 (t ) ½ 0 ½ y1 (0) ½ A½
« » ° y (t )° ° 0 ° ° ° ° °
0 1 0
® ¾ « »® 2 ¾ ® ¾ con ® y 2 (0)¾ ®B¾
° ° « (a / a ) (a / a ) (a / a )» °̄ y (t ) ° °̄b(t ) / a ° °̄ y (0) ° °̄C °
2
0 0 1
° 3 ° ¬ 3 ¼ ¿ ¿ ¿ ¿
dt
°¯ dt °¿
dy (t ) 0 3 1 3 2 3 3
3
Ejemplo: Pag. 149 de Zill,G. Cullen, M. Ecuaciones Diferenciales con Problemas de Valores de Frontera, Thomson Learning, 2002.
Buscar u(t) solución de
6 u (t ) 3 t
d 3u (t ) d 2 u (t ) du(t )
6 11 con u (0) A ; u (0) B u(0) C
dt 3 dt 2 dt
c1 e t c2 e 2t c3 e 3t (11 / 2) (1 / 2) t
La solución exacta es:
uex (t )
Ejemplos
Resumen
u (0)½ 0½
48 u (t ) 36 sen(5 t ) con ® ¾ ® ¾
d 2 u (t ) du(t )
¯ ¿ ¯0¿
12 6
dt 2
dt u ( 0)
t H >0;f
u (t )½ (5 / 2) sen(2 t ) sen(5 t )½
La solución exacta de este problema es
® ¾ ® ¾
36 1
¯ v (t ) ¿ 48 1 (5 / 2) 2 ¯ 5 ( cos(2 t ) cos(5 t )) ¿
Reducir a un sistema de EDO de primer orden de la forma:
& & &
d y (t ) & &
f ( y (t ), t ) con y (0) y0
dt
½ ½ ½
expresar
® ¾ ® ¾ ® ¾
& & & & &
¯ ¿ ¯ ¿ ¯ ¿
y (t ) y ( 0) y0 f ( y (t ), t )
y resolver con un método de Runge Kutta de segundo orden. Comparar con la solución exacta.
u (0)½ 0½
c k (1 a u (t )) u (t ) p sen(: t ) con ® ¾ ® ¾
d 2 u (t ) du(t )
¯u (0)¿ ¯0¿
m
dt 2
dt
Reducir a un sistema de EDO de primer orden de la forma:
& & &
dy (t ) & &
f ( y (t ), t ) con y (0) y0
dt
½ ½ ½
expresar
® ¾ ® ¾ ® ¾
& & & & &
¯ ¿ ¯ ¿ ¯ ¿
y (t ) y ( 0) y0 f ( y (t ), t )
y resolver con un método de Runge Kutta de segundo orden. Comparar con la solución exacta.
6 u (t ) 3 t
d 3u (t ) d 2 u (t ) du(t )
6 11 con u (0) A ; u (0) B u(0) C
dt 3 dt 2 dt
c1 e t c2 e 2t c3 e 3t (11 / 2) (1 / 2) t
La solución exacta de este problema es
uex (t )
Ejemplo: Pag. 149 de Zill,G. Cullen, M. Ecuaciones Diferenciales con Problemas de Valores de Frontera, Thomson Learning, 2002.
Buscar u(t) solución de
½ ½ ½
expresar
° ° ° ° ° °
® ¾ ® ¾ ® ¾
& & & & &
°̄ ° °̄ ° °̄ ° y
y (t ) y ( 0) y0 f ( y (t ), t )
¿ ¿ ¿
resolver con un método de Runge Kutta de segundo orden, eligiendo Dt y el coeficiente w. Comparar con la
solución exacta.
d 2T1(t)
4(T 2 T1 ) 5t dT 1 ½
S / 8 ½ ° dt °
T1 ½ 0,1 ½
16
dt 2
d 2T 2(t) ® ¾®
con ¯T 2 ¿
¾ y ® dT ¾ ® ¾
S ¯ 0,2¿
9T1 3t ¯ ¿ °̄ 2 °
dt ¿ t 0
2 / 4
32 2
t0
dt
Reducir a un sistema de EDO de primer orden de la forma:
&
d y (t ) & & & &
f ( y (t ), t ) con y (0) y 0
dt
Expresar
y resolver con un método de Runge Kutta de segundo orden. Comparar con la solución exacta.
M x (t ) C x (t ) K x (t ) R (t ),
ª1 0 0º x1 (t ) ½ ª 4 0 0º x1 (t ) ½ ª0 4 1º x1 (t ) ½ 5e t 8e 2t cos t ½
«0 1 0» ° x (t ) ° «0 1 0» ° x (t ) ° «4 2 0» ° x (t ) ° ° °
« »® 2 ¾ « »® 2 ¾ « »® 2 ¾ ® 8e 4 e ¾
°̄ ° °̄ °
«¬0 0 2»¼ x3 (t ) ¿ «¬0 0 3»¼ x 3 (t ) ¿ «¬1 0 1»¼ °̄ x 3 (t ) °¿ °̄ cos t 3sent e t °
2t t
¿
x 1 ( 0) ½ 1 ½ x1 (0) ½ 1 ½
° ° ° ° ° ° ° °
con ® x 2 (0) ¾ ®2 ¾ ® x 2 (0) ¾ ®4 ¾
°̄ x (0) ° °̄1 ° °̄ x (0) ° °̄0°
3 ¿ ¿ 3 ¿ ¿
Reducir a un sistema de EDO de primer orden de la forma:
& & &
d y (t ) & &
f ( y (t ), t ) con y (0) y0
dt
Expresar
y resolver con un método de Runge Kutta de segundo orden. Comparar con la solución exacta.
u (0)½ D ½
k u (t ) p g (t ) con ® ¾ ® ¾
d 2u (t )
¯E ¿
du(t )
¯ ¿
m c
dt 2
dt u ( 0)
En base a las reglas de derivadas centrales u(t)
(u n 1 2 u n u n 1 ) O('t 2 )
d 2 u (t ) 1
2
dt t 't 2
n
un+1 u(t)
(u n 1 u n 1 ) O('t 2 )
du (t ) 1 un
dt t n 2 't 2
't 't
tn-1 tn tn+1
Con
§ 't ·
§ 't ·
1
¨m c ; G E 2 m 't 2 k ; GE ¨ c m ; bg (t ) ' t 2 G E p g (t )
© 2 ¹̧ © 2 ¹̧
GE DE HE
Es necesario conocer dos estados solución (un-1; un) para calcular el nuevo estado un+1 en tn+1.
Dr. Ing. A.Mirasso Ec.Dif. con Valores de Contorno Año 2014 8 de 13
Facultad de Ingeniería, Universidad Nacional de Cuyo
Buscar con el método de diferencia central la incógnita u(t), para t H >0;f , tal que
EJEMPLO
u (0)½ 0½
400 u (t ) 80 sen(5 t ) con ® ¾ ® ¾
d 2u (t )
¯ ¿ ¯0¿
65 2
dt u ( 0)
(t ) C u (t ) K u (t ) R (t ),
Para un sistema EDO que en forma generalizada se puede escribir
Mu
con valores iniciales conocidos u (0), u (0), y con u (0) que se puede obtener de satisfacer la ecuación
diferencial vectorial en el instante inicial t=0.
Se aproximan la u (t ) y la u (t ) con derivadas numéricas centrales y se reemplazan en el sistema original.
1
u (t 't ) 2u (t ) u (t 't ) C 1 u (t 't ) u (t 't ) Ku (t )
't 2 't
M R (t )
con
§ 't · § 't ·
1
¨M C ; G E 2 M 't 2 K ; G E ¨ C M ; b g (t ) ' t 2 G E R (t )
© 2 ¹̧ © 2 ¹̧
GE DE HE
Se debe destacar que las matrices GE y HE, como así también la matriz inversa que las define, se calcula sólo
Para el valor inicial de t (t=t0), primero se halla una aproximación de u (t0 't ) mediante Serie de Taylor:
una vez al inicio del método.
§ ·
u (t 0 't ) ¨ u (t 0 ) 't u (t 0 ) 't u
1 2
© ¹̧
(t 0 ) .
2
Buscar con el método de diferencia central las incógnitas x1(t), x2(t) x3(t) para t H >0;f , tal que
EJEMPLO
M x (t ) C x (t ) K x (t ) R (t ),
ª1 0 0º x1 (t ) ½ ª 4 0 0º x1 (t ) ½ ª0 4 1º x1 (t ) ½ 5e t 8e 2t cos t ½
«0 1 0» ° x (t ) ° «0 1 0» ° x (t ) ° «4 2 0» ° x (t ) ° ° °
« »® 2 ¾ « »® 2 ¾ « »® 2 ¾ ® 8e 4 e ¾
«¬0 0 2»¼ °̄ x3 (t ) °¿ «¬0 0 3»¼ °̄ x 3 (t ) °¿ «¬1 0 1»¼ °̄ x 3 (t ) °¿ °̄ cos t 3sent e °
2t t
¿
t
x 1 ( 0) ½ 1 ½ x1 (0) ½ 1 ½
° ° ° ° ° ° ° °
con ® x 2 (0) ¾ ®2 ¾ ® x 2 (0) ¾ ®4 ¾
°̄ x (0) ° °̄1 ° °̄ x (0) ° °̄0°
3 ¿ ¿ 3 ¿ ¿
function Dif_cen
clc,clear
% Datos
Dt=0.003; % incremento de tiempo
NDt=2500; % cantidad de Dt a realizar
dim=3; % cantidad de funciones incógnitas
% Dimensionamiento
%t=zeros(1,NDt); % vector fila para guardar el tiempo
%y=zeros(dim,NDt); % Matriz para guardar el vector solución y(t)
%yan=zeros(dim,1); % Vector de solución anterior
%yac=zeros(dim,1); % Vector de solución actual
%ynu=zeros(dim,1); % Vector de solución nueva
M= [1 0 0
0 -1 0
0 0 2];
C= [4 0 0
0 -1 0
0 0 3];
K= [0 4 1
4 2 0
1 0 1];
% Inicialización
G=inv(M+(Dt/2)*C)
D=G*(2*M-Dt^2*K)
H=G*((Dt/2)*C-M)
yan=yac-Dt*vac+((Dt^2)/2)*inv(M)*(fua-K*yac-C*vac);
% Diferencia Central
for j=2:NDt
bac=fun_ind(tac,G,Dt); % actualización de término independiente
function [fy]=fun_ind(x,G,Dt)
r(1,1)= 5*exp(x) +8*exp(2*x) +cos(x);
r(2,1)=-8*exp(2*x)+4*exp(x);
r(3,1)=-cos(x) -3*sin(x) +exp(x);
fy=Dt^2*G*r;
end