Sei sulla pagina 1di 129

ECUACIONES DIFERENCIALES

A. Cachafeiro L opez J. Illan Gonzalez


Departamento de
Matematica Aplicada I
Universidade de Vigo
SEGUNDA EDICI

ON
A no: 2009
Editores: Los autores
ISBN: 978-84-611-9916-7

INDICE GENERAL
1 Comandos simb olicos para resolver ecuaciones.
Campos de direcciones. Isoclinas 1
1.1 COMANDOS SIMB

OLICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Comandos para la derivaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Problemas resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 El comando DSOLVE. Resolucion de PVI . . . . . . . . . . . . . . . . . . . . 2
1.1.4 Ejemplos de EEDD que no pueden ser resueltas por DSOLVE . . . . . . . . . 3
1.1.5 Funci on LAMBERTW(Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 CAMPO DE DIRECCIONES DE UNA ED . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 TRAYECTORIAS ISOCLINAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Metodo de las isoclinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Metodo de separaci on de variables. Ecuaciones
homogeneas, exactas, implcitas y de Bernoulli 11
2.1 ECUACIONES EN VARIABLES SEPARADAS . . . . . . . . . . . . . . . . . . . . . 11
2.2 ECUACIONES DIFERENCIALES HOMOG

ENEAS . . . . . . . . . . . . . . . . . . 14
2.3 ECUACIONES DIFERENCIALES EXACTAS . . . . . . . . . . . . . . . . . . . . . . 14
2.4 ECUACI

ON DE CLAIRAUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 ECUACI

ON DE BERNOULLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 FACTOR INTEGRANTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Resoluci on simbolica de sistemas diferenciales 25
3.1 SISTEMA LINEAL HOMOG

ENEO DE
COEFICIENTES CONSTANTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 SISTEMA LINEAL COMPLETO DE
COEFICIENTES CONSTANTES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
i
ii

Indice General
3.3 RESOLUCI

ON DE SISTEMAS DIFERENCIALES
LINEALES HOMOG

ENEOS DE COEFICIENTES
CONSTANTES POR LA VIA ESPECTRAL . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.1 Calculo de valores y vectores propios via MATLAB . . . . . . . . . . . . . . . 30
3.3.2 El metodo espectral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 EEDD LINEALES DE ORDEN SUPERIOR . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.1 EEDD lineales de orden superior homogeneas . . . . . . . . . . . . . . . . . . 32
3.4.2 EEDD lineales de orden superior completas . . . . . . . . . . . . . . . . . . . 32
3.5 ECUACI

ON DE EULER Y DE EULER
GENERALIZADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.6 C

ALCULO DE WRONSKIANOS Y APLICACIONES . . . . . . . . . . . . . . . . . 35


3.6.1 Wronskiano e independencia lineal . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7 SOLUCIONES PARTICULARES DE EEDD
LINEALES COMPLETAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.7.1 Metodo de coecientes indeterminados (MCI) . . . . . . . . . . . . . . . . . . 38
3.7.2 Metodo de variacion de parametros (MVP) . . . . . . . . . . . . . . . . . . . . 40
3.8 REDUCCI

ON DE ORDEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.9 EJERCICIOS COMPLEMENTARIOS . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.10 AP

ENDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.10.1 Notas sobre funciones especiales . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.10.2 Sobre el metodo basado en el c alculo aproximado de las races de la ecuaci on
caracterstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Transformada de Laplace 49
4.1 DEFINICI

ON Y C

ALCULO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.1.1 Denicion de la transformada de Laplace . . . . . . . . . . . . . . . . . . . . . 49
4.1.2 Calculo mediante comandos MATLAB. Ejemplos . . . . . . . . . . . . . . . . 50
4.1.3 Propiedades de la Transformada de Laplace . . . . . . . . . . . . . . . . . . . 51
4.2 TRANSFORMADA INVERSA DE LAPLACE . . . . . . . . . . . . . . . . . . . . . . 52
4.3 APLICACIONES A LA RESOLUCI

ON DE
PROBLEMAS DE CONDICI

ON INICIAL . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4 PROBLEMAS DE VALORES INICIALES CON
DATOS DISCONTINUOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.4.1 Funci on escalon unitario (Heaviside) . . . . . . . . . . . . . . . . . . . . . . . 56
4.4.2 Representaci on de funciones con discontinuidades de salto nito . . . . . . . . 58
4.5 TRANSFORMADA DE LAPLACE DE UNA
FUNCI

ON PERI

ODICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.6 LA FUNCI

ON DE TRANSFERENCIA . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Indice general iii


5 Metodos numericos para PVI (I) 65
5.1 FUNCIONES ESPECIALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.1 Funciones de Bessel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2 ESTUDIO DE LAS SOLUCIONES DE UNA ED . . . . . . . . . . . . . . . . . . . . 67
5.2.1 Metodos numericos de resoluci on de PVI . . . . . . . . . . . . . . . . . . . . . 68
5.2.2 Metodo de Euler o de la tangente . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2.3 Otra interpretacion del metodo de Euler . . . . . . . . . . . . . . . . . . . . . 69
5.2.4 Ejemplos en los que se aplica el metodo de Euler . . . . . . . . . . . . . . . . 70
5.2.5 Precision de los resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.3 M

ETODO DE EULER MEJORADO . . . . . . . . . . . . . . . . . . . . . . . . . . . 78


5.3.1 La f ormula de los trapecios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3.2 Deduccion del metodo de Euler mejorado . . . . . . . . . . . . . . . . . . . . 79
5.3.3 Euler versus Euler mejorado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.4 OTROS M

ETODOS NUM

ERICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4.1 Ejemplo de metodo de dos pasos . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.5 CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.6 EJERCICIOS ADICIONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.6.1 Aplicacion: c alculo de la elasticidad b(x) . . . . . . . . . . . . . . . . . . . . . 84
6 Metodos numericos para PVI (II) 87
6.1 M

ETODOS PARA RESOLVER PROBLEMAS


ASOCIADOS A SISTEMAS DE EEDD . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.1 Metodo de Euler mejorado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.1.2 Sobre los programas S2 EULER y RK CELL . . . . . . . . . . . . . . . . . . . 88
6.1.3 Ejercicios con indicaciones para ser resueltos . . . . . . . . . . . . . . . . . . . 89
6.2 EJERCICIOS ADICIONALES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2.1 Indicaciones para resolver los ejercicios (6.4)-(6.7) . . . . . . . . . . . . . . . . 95
6.3 SERIES DE FOURIER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.1 Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.3.2 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4 AP

ENDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.4.1 Programa SN EULER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.4.2 Interpolacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7 Metodos numericos para PVI (III) 105
7.1 M

ETODOS DE RUNGE-KUTTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


7.1.1 Metodos de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.1.2 Metodo de Runge-Kutta de cuarto orden . . . . . . . . . . . . . . . . . . . . . 106
iv

Indice General
7.1.3 Descripci on del programa RUNGEKUTTA . . . . . . . . . . . . . . . . . . . . 106
7.1.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1.5 Estabilidad de un metodo numerico . . . . . . . . . . . . . . . . . . . . . . . . 108
7.1.6 Descripci on del programa EJE7.4 . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.2 PROBLEMAS DE CONTORNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2.1 Planteamiento matematico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2.2 Aplicacion: Viga columna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.3 ECUACIONES EN DERIVADAS PARCIALES . . . . . . . . . . . . . . . . . . . . . 111
7.3.1 Ecuacion del calor en una barra de longitud nita . . . . . . . . . . . . . . . . 111
7.3.2 Ecuacion de ondas sobre un intervalo acotado . . . . . . . . . . . . . . . . . . 114
7.3.3 Herramientas simbolicas para EDP . . . . . . . . . . . . . . . . . . . . . . . . 116
Bibliografa de practicas y sitios WEB 119
LISTA DE FIGURAS
1.1 Gr aco de las soluciones de los ejemplos 1.3 y 1.4 . . . . . . . . . . . . . . . . . . . . 4
1.2 Campo de direcciones y solucion particular. Ejemplo 1.8 . . . . . . . . . . . . . . . . 6
1.3 Campo de direcciones y solucion particular. Ejemplo 1.9 . . . . . . . . . . . . . . . . 7
1.4 Representacion (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Representacion (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6 Ejemplo 1.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 Gr aco del ejemplo 1.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8 Gr aco del ejemplo 1.12-a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.9 Gr aco del ejemplo 1.12-b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.10 Graco del ejemplo 1.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Soluci on del ejemplo 2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Gr aco del ejemplo 2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Gr aco del ejemplo 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Gr aco del ejemplo 2.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5 Gr aco del ejemplo 2.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Gr aco del ejemplo 2.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Evidencia gr aca de que Prueba(2) debe ser nula en [1, 1] . . . . . . . . . . . . . . . 30
3.2 Gr acas de Z = y
iv)
1
6y
iii)
1
+ 9y
ii)
1
24y
i)
1
20y
1
en [2, 2] y [20, 60] . . . . . . . . . 47
4.1 Representacion graca de (t) en [4, 4] . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Representacion graca de la entrada g(t) y la salida I(t) . . . . . . . . . . . . . . . . 59
5.1 Gr aca de J
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2 Gr aca de J
0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Gr acas superpuestas de J
1
y J
0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.4 Gr acas de Bessel J
3/2
y J
1/2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.5 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.6 Interpretacion del metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.7 Soluciones exactas y aproximadas de los ejemplos 5.1 y 5.2 . . . . . . . . . . . . . . . 73
5.8 Soluciones exactas y aproximadas del ejemplo 5.2 para n = 100, 200 . . . . . . . . . . 73
v
vi Listado de guras
5.9 Soluci on aproximada del ejemplo 5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.10 Soluciones aproximadas del ejemplo 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.11 Regla del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.12 Soluciones exactas y aproximadas del ejemplo 5.5 (n = 21, 41) . . . . . . . . . . . . . 81
5.13 Ilustracion de un metodo de dos pasos . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.1 Gr aco producido por S2 EULER al resolver el ejercicio 6.1 . . . . . . . . . . . . . . 90
6.2 Gr aco producido por S2 EULER al resolver el ejercicio 6.2 . . . . . . . . . . . . . . 91
6.3 Gr aco producido por S2 EULER al resolver el ejercicio 6.3 . . . . . . . . . . . . . . 92
6.4 Gr aco obtenido al resolver el ejemplo 6.1 . . . . . . . . . . . . . . . . . . . . . . . . 93
6.5 Gr acas de S2 EULER.M e INTERPOLA.M. Ejercicio 6.4 . . . . . . . . . . . . . . . 96
6.6 RK CELL e INTERPOLA.M aplicados al ejercicio 6.5 . . . . . . . . . . . . . . . . . 96
6.7 Soluci on graca del ejercicio 6.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.8 Soluciones DSOLVE y RK CELL. Ejercicio 6.7 . . . . . . . . . . . . . . . . . . . . . . 98
6.9 Ejercicio 6.8. Sumas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.10 Ejercicio 6.9. Sumas parciales N = 2, 26 . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.11 Ilustracion gr aca del metodo de interpolaci on . . . . . . . . . . . . . . . . . . . . . . 103
7.1 Gr acas producidas por EJE7.4.M . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.2 Gr aca producida por CALOR.M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.3 Gr aca producida por ONDA.M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
INDICACIONES GENERALES
Antes de comenzar la sesion de trabajo con MATLAB (ML) y Adobe-Reader (PDF) debemos per-
sonalizar el entorno de trabajo.
1. (ML) Seleccionar adecuadamente, para no da nar la vista, el tipo, tama no, color de las fuentes
y el color de fondo de las ventanas MATLAB.
2. (ML y PDF) Ajustar el tama no de ambas ventanas, Command Window de MATLAB y el guion
de la clase, para trabajar simult aneamente con ambas.
3. (ML) Crear carpetas personales temporales y declarar la correspondiente trayectoria (PATH)
mediante el men u principal: FILE\SET PATH. Esto es esencial para la ejecuci on de programas.
Como alternativa basta ejecutar lo siguiente desde la ventana de comandos MATLAB
>>!mkdir C:\carpeta_personal
>>path(C:\carpeta_personal,path)
La primera lnea crea nuestra carpeta personal, mientras que la segunda informa a MATLAB
d onde se encuentra esta, y la sit ua al comienzo de la lista de trayectorias.
4. (ML) Para disminuir el espacio vertical inter-lnea en la ventana de comandos ejecutar
>>format compact
5. (ML) Activar el interruptor MORE mediante
>>more on
para impedir el desplazamiento descontrolado de la ventana de comandos.
6. (ML) Desactivar el interruptor WARNING mediante
>>warning off
si se desea que el sistema no muestre en pantalla advertencias.
El alumno debe entregar por escrito la solucion de algunos ejercicios seleccionados, seg un se indica
en la plantilla correspondiente. Para ello debe basarse en el desarrollo de los ejemplos que aparecen
resueltos en el gui on de la clase.
vii
CLASE PR

ACTICA 1
Comandos simb olicos para resolver ecuaciones.
Campos de direcciones. Isoclinas
OBJETIVOS
Abordar la soluci on de ecuaciones diferenciales (EEDD) y problemas de valor inicial desde
una perspectiva experimental, mediante la aplicaci on de los recursos simb olicos del sistema
MATLAB

.
Contribuir con el uso de herramientas gracas al estudio de las EEDD a traves de la visualiza-
ci on del campo de direcciones asociado y las isoclinas.
1.1 COMANDOS SIMB

OLICOS
1.1.1 Comandos para la derivacion
La siguiente secuencia halla la funcion derivada de f respecto a x.
>> syms x
>> diff(f,x)
Para hallar la derivada enesima hacemos
>>diff(f,x,n)
El smbolo Df representa simbolicamente la derivada de f. Para derivadas sucesivas usamos D2f,
D3f, etc.
1
2 Clase Practica 1
1.1.2 Problemas resueltos
Ejemplo 1.1 Dada la ecuacion
my

= mg +ky

,
comprobar que
y(t) = A +Be
kt/m
+mgt/k,
es una solucion de dicha E.D
Soluci on del ejemplo 1.1
1. Denir simb olicamente y(t).
2. Sustituir en la ED
>>syms t y k m g A B
>>y = A + B*exp(k*t/m) + m*g/k*t;
>>a=m*diff(y,t,2)-k*diff(y,t)+m*g
a=1/m*B*k^2*exp(k*t/m)-k*(B*k/m*exp(k*t/m)+m*g/k)+m
>>simplify(a)
ans =0
Ejemplo 1.2 Comprobar que la funcion
u(x, t) = e

2
c
2
t/l
2
sen(x/l)
es solucion de la ecuacion del calor
u
t
(x, t) = c
2
u
xx
(x, t)
Soluci on del ejemplo 1.2
>>syms c
>>u=exp(-pi^2*c^2*t/l^2)*sin(pi*x/l)
>>diff(u,t)-c^2*diff(u,x,2)
ans=0
Nota 1.1 No ha sido necesario declarar simbolicas a las variables u, t, x y l.
1.1.3 El comando DSOLVE. Resolucion de PVI
El comando DSOLVE es de tipo simb olico y permite obtener la solucion exacta de algunas EEDD y
de los correspondientes problemas de valor inicial.
(1
El argumento de este comando es un STRING
de modo que no es necesario declarar simb olicas a las variables involucradas.
1
En lo que sigue usaremos las siglas PVI para problema(s) de valor(es) inicial(es).
Clase Practica 1 3
Ejemplo 1.3 Resolver la ED y

= 1 + y
2
, obtener la solucion local correspondiente a la C.I. (0, 1),
y representarla gracamente.
Resolucion del ejemplo 1.3
Paso 1 >>dsolve(Dy=1+y^2)
ans =tan(t+C1)
Paso 2 >>dsolve(Dy=1+y^2,y(0)=1)
ans =tan(t+1/4*pi)
Paso 3 >>ezplot(tan(t+pi/4),[-pi/4,pi/4]);
>> hold on
>> plot(0,1,*r)
Ejemplo 1.4 Resolver la ED y

= y 2t. Obtener la solucion local con la C.I. (2, 1) y represen-


tarla.
Resolucion del ejemplo 1.4
>>dsolve(Dy=-y-2*t)
ans = -2*t+2+exp(-t)*C1
>>dsolve(Dy=-y- 2*t,y(-2)=1)
ans = -2*t+2-5*exp(-t)/exp(2)
>>ezplot(-2*t+2-5*exp(-t)/exp(2),[-4,3]),
>>hold on
>>plot(-2,1,*g)
1.1.4 Ejemplos de EEDD que no pueden ser resueltas por DSOLVE
Ejemplo 1.5 Intentar resolver la ED y

= 2t y +cos(y) con DSOLVE.


Desarrollo del ejemplo 1.5
>>dsolve(Dy=-2*t-y+cos(y))
Warning:
Explicit solution could not be found.
>In C:\MATLABR11\toolbox\symbolic\dsolve.m at line 326
ans =
[ empty sym ]
Si el comando DSOLVE no puede obtener explcitamente la solucion, entonces el propio
DSOLVE ofrece, en algunos casos, la soluci on en la forma implcita.
4 Clase Practica 1
Fig. 1.1: Graco de las soluciones de los ejemplos 1.3 y 1.4
Ejemplo 1.6 Intentar resolver y

= y
2
(1 y) aplicando DSOLVE.
Resolucion del ejemplo 1.6
>>dsolve(Dy=y^2*(1-y))
Warning: Explicit solution could not be found; implicit solution returned.
> In C:\MATLABR11\toolbox\symbolic\dsolve.m at line 292
ans =
t+1/y-log(y)+log(-1+y)+C1=0
Ejemplo 1.7 Resolver la ED y

= y +cos(2x), con las condiciones iniciales y(0) = 1, y

(0) = 0.
Resolucion del ejemplo 1.7
>> y=dsolve(D2y=-y+ cos(2*x),y(0)=1,Dy(0)=0,x)
y =
(1/2*sin(x)+1/6*sin(3*x))*sin(x)+(1/6*cos(3*x)-1/2*cos(x))*cos(x)+4/3*cos(x)
Observar en las siguientes lneas el efecto del comando SIMPLIFY.
>> y=simplify(y)
y= -2/3*cos(x)^2+4/3*cos(x)+1/3
1.1.5 Funcion LAMBERTW(Z)
MATLAB se vale de una colecci on de funciones b asicas elementales m as amplia que la que usualmente
utilizamos, con la cual nos puede dar una mayor cantidad de respuestas en forma cerrada. Una de
Clase Practica 1 5
estas funciones es w(z) = Lambertw(z) denida implcitamente por
w(z) exp(w(z)) = z
La denicion de cualquier funci on especial MATLAB puede ser consultada invocando en la lnea de
comandos
>>help+nombre
o bien, para aquellas especcas del n ucleo MAPLE
>>mhelp+nombre
donde nombre es el nombre de la funcion.
Otras funciones especiales incorporadas al sistema MATLAB-MAPLE son BERNOULLI, BESSElJ,
DILOG, etc. Para ver el cat alogo completo MAPLE ejecutamos la orden
>>mfunlist
Como evitar que Lambertw aparezca en la respuesta nal?
Un caso en que podemos eliminar a Lambertw de la expresi on que hemos obtenido al ejecutar
DSOLVE, es cuando podemos despejarle, es decir, cuando somos capaces de llegar a
lambertw(E
1
(x)) = E
2
(x),
donde E
1
y E
2
son ciertas expresiones en la variable x.
Entonces, atendiendo a la formulaci on implcita que dene a esta funci on, se tiene que
E
2
(x) exp(E
2
(x)) = E
1
(x).
Ejercicio 1.1 Resolver las siguientes EEDD y PVI.
a) (x
2
+ 1)dy + (y
2
+ 1)dx = 0,
y(0) = 1/2
b) y

= y cos(x)/(1 + y
2
),
y(0) = 1
c) y

3y

+ 3y

y = x
d) y

3y

+ 3y

y = x,
y(0) = 0, y

(0) = 1, y

(0) = 0
1.2 CAMPO DE DIRECCIONES DE UNA ED
Dada la ED y

= f(x, y) , si y = y(x) es soluci on y (x


0
, y
0
) es un punto de la gr aca de y(x), entonces
la pendiente de y = y(x) en (x
0
, y
0
) es y

(x
0
) que es igual a f(x
0
, y
0
).
6 Clase Practica 1
Fig. 1.2: Campo de direcciones y soluci on particular. Ejemplo 1.8
Lo anterior signica que, para conocer la pendiente de la soluci on que pasa por (x
0
, y
0
) no hace
falta conocer dicha soluci on; basta con calcular f(x
0
, y
0
).
Si esto se hace con todos los puntos del plano, tendremos las pendientes de las soluciones que
pasan por cada punto del plano. Naturalmente, en la practica es imposible hacer esto con todos los
puntos del plano, pero nada nos impide hacerlo con tantos puntos como queramos, congurando un
gr aco que llamaremos campo de direcciones de la ED.
Como construir el campo de direcciones asociado a una ED?
Consideremos la ED generica y

(x) = f(x, y(x)). Para construir su campo de direcciones procedemos


de la siguiente forma: por cada punto (x, y) de una red de puntos de R
2
, convenientemente prejada,
se dibuja un segmento de recta o vector de pendiente f(x, y). El resultado nal de este trabajo
se interpreta como informacion graca acerca de la soluci on de la ED que a un no hemos intentado
resolver por otros medios. Para aumentar la eciencia usaremos un programa MATLAB en el que
intervienen los comandos MESHGRID y QUIVER que permiten generar el graco del campo de
direcciones.
Los vectores a considerar para obtener el campo de direcciones ser an (1, y

) = (1, f(x, y)).


Ejemplo 1.8 Construir el campo de direcciones de la ED y

= x, y representar la solucion particular


que cumple la condicion inicial y(0) = 0.
Resolucion del ejemplo 1.8
Las acciones MATLAB son las siguientes:
>>f=inline(x,x,y);
>>paso=0.5;
Clase Practica 1 7
Fig. 1.3: Campo de direcciones y soluci on particular. Ejemplo 1.9
>>iz=-3;
>>der=3;
>>[x,y]=meshgrid(iz:paso:der,iz:paso:der);
>>[n,m]=size(x);
>>dx=ones(n,m);
>>z=f(x,y);
>>dy=z;
>>quiver(x,y,dx,dy)
La gura 1.2 (izquierda) muestra el campo de direcciones. La solucion particular se obtiene
artesanalmente como y = x
2
/2, mediante separacion de variables, o bien, aplicando DSOLVE. A
continuaci on aparecen las ordenes MATLAB necesarias (ver gura 1.2-derecha).
>>hold on % HOLD ON permite superponer los graficos
>>dsolve(Dy=x,y(0)=0, x)
>>ezplot(1/2*x^2,[-2.5,2.5]),
>>plot(0,0,*g)
Ejemplo 1.9 Construir el campo de direcciones asociado a y

= x/y y representar la solucion


particular que cumple la CI y(1) = 1.
Indicaciones para el ejemplo 1.9
La red creada con MESHGRID para el ejemplo 1.9 debe evitar y = 0 y contener al punto (1, 1) de
la condici on inicial. La expresi on dentro de INLINE que dene a la funcion debe escribirse entre
ap ostrofes, es decir,

x./y

. El punto debe preceder a /, y ^ pues se opera con vectores componente


a componente. La soluci on graca est a dada por las guras en el cuadro 1.3.
8 Clase Practica 1
Ejercicio 1.2 Asociar cada una de las representaciones (a) y (b), mostradas en los cuadros 1.4 y
1.5, con el campo de direcciones de alguna de las siguientes EEDD:
i) y

= y x, ii) y

= 2x.
Fig. 1.4: Representaci on (a) Fig. 1.5: Representaci on (b)
1.3 TRAYECTORIAS ISOCLINAS
Denici on 1.1 Dada la ED y

= f(x, y) , se llaman curvas de nivel o isoclinas a las obtenidas


al imponer la condicion y

= k.
1.3.1 Metodo de las isoclinas
El metodo de las isoclinas es una variante de las ideas antes descritas. Los puntos del plano por los
que pasa una soluci on con pendiente k, son los puntos de la curva de ecuaci on f(x, y) = k (isoclina
de pendiente k).
Dibujando las distintas isoclinas se obtiene una representacion similar a la del campo de direc-
ciones. Puede tener interes identicar la isoclina para la pendiente 0 pues las soluciones tendran
generalmente un maximo o un mnimo al pasar por esta isoclina.
Ejemplo 1.10
1 Representar las isoclinas de la ED y

= x + y
2
.
2 Representar el graco de contorno (curvas de nivel o isoclinas) de la supercie z = x +y
2
.
Clase Practica 1 9
Desarrollo de la soluci on del ejemplo 1.10
>>[x,y]=meshgrid(0:0.05:3,-2:0.05:2);
>> z=x+y.^2;
>> isoclinas=contour(x,y,z,20)
El resultado en pantalla es el que ofrece la gura 1.6.
Fig. 1.6: Ejemplo 1.10 Fig. 1.7: Graco del ejemplo 1.11
Ejemplo 1.11 Representar las isoclinas de la ED y

= x
2
+ y
2
.
Soluci on, paso a paso, del ejemplo 1.11 (ver g. 1.7)
>>[x,y]=meshgrid(-4:0.05:4);
>>z=x.^2+y.^2;
>>isoclinas=contour(x,y,z,20);
Ejemplo 1.12
(a) Representar las isoclinas de la ED y

= 2x y.
(b) Que tipo de curvas son dichas isoclinas?
(c) Representar las isoclinas correspondientes a k = 0, y k = 2.
(d) Que particularidad tiene la correspondiente a k = 2?
10 Clase Practica 1
Fig. 1.8: Graco del ejemplo 1.12-a Fig. 1.9: Graco del ejemplo 1.12-b
Fig. 1.10: Graco del ejemplo 1.13
Ejemplo 1.13 Construir el campo de di-
recciones y las curvas de nivel de la ED
y

= sen(x) + y.
Desarrollo, paso a paso, de la
solucion del ejemplo 1.13 (gura
1.10)
>>f=inline(sin(x)+y,x,y);
>>paso=0.5;iz=-3;der=3;
>>[x,y]=meshgrid(iz:paso:der,iz:paso:der);
>>[n,m]=size(x);dx=ones(n,m);
>>z=f(x,y);dy=z;
>>hold on,contour(x,y,z,20);
>>quiver(x,y,dx,dy);
CLASE PR

ACTICA 2
Metodo de separaci on de variables. Ecuaciones
homogeneas, exactas, implcitas y de Bernoulli
OBJETIVOS
1. Ejercitar el uso de herramientas simb olicas para la resoluci on de ED.
2. Aplicar metodos de cuadraturas exactas estudiados en clase.
2.1 ECUACIONES EN VARIABLES SEPARADAS
Son de la forma
y

(x) = f(x)h(y).
Para resolver el PCI
y

= f(x)h(y),
y(x
0
) = y
0
,
escribimos la ED como sigue:
dy
h(y)
= f(x)dx
y si llamamos g =
1
h
, entonces queda g(y)dy = f(x)dx.
Integrando en ambos miembros de la igualdad anterior obtenemos
G(y) = F(x) + C, (Soluci on general de la ED),
y calculamos el par ametro C usando la CI. As
C = G(y
0
) F(x
0
)
y por lo tanto
G(y) = F(x) + G(y
0
) F(x
0
), (Soluci on del PCI).
Ejemplo 2.1 Resolver el PVI, y

= 2xy, y(0) = 2, y representar gracamente la solucion.


11
12 Clase Practica 2
Fig. 2.1: Solucion del ejemplo 2.1
Resolucion del ejemplo 2.1
Resolveremos el PVI con MATLAB siguiendo el metodo de separaci on de variables.
>>syms F G x y c
>>f=-2*x; g=1/y;
>>x0=0;y0=2;
>>F=int(f); G=int(g);
>>sol=solve(G-F-c,y)% solucion general
>>c=solve(subs(sol,x0,x)-y0,c);
>>y=subs(sol,c,c)% solucion particular
Para obtener el gr aco de la soluci on del ejemplo 2.1 (gura 2.1), ejecutar en la lnea de comandos.
>>ezplot(y,[-2,2]), hold on, plot(0,2,+r)
Debemos distinguir entre la soluci on general
sol =exp(-x^2+2*c)
y la soluci on particular del PVI
y =exp(-x^2+log(2)).
El ejemplo 2.1 puede resolverse directamente usando el comando DSOLVE, en efecto
>>y=dsolve(Dy=-2*x*y,y(0)=2,x)
y =2*exp(-x^2)
Ejemplo 2.2 Resolver el PVI, y

= sen(x)(y 1), y(0) = 2.


Resolucion del ejemplo 2.2
>>f=sin(x)
Clase Practica 2 13
>>g=1/(y-1)
>>F=int(f,x,0,X)
F =-cos(X)+1
>>G=int(g,y,2,Y)
G =log(Y-1)
>>sol=solve(G-F,Y)
sol =exp(-cos(X)+1)+1
Ejemplo 2.3 Resolver y cos(x)dx (1 + y
2
)dy = 0, y(0) = 1.
Resolucion del ejemplo 2.3
Despejando obtenemos y

= y cos(x)/(1 + y
2
) y usando DSOLVE
>>y=dsolve(Dy=y*cos(x)/(1+y^2),x)
y=-i*(-lambertw(exp(2*sin(x)+2*C1)))^(1/2)
La aceptacion de la anterior respuesta depender a del consumidor. Si tenemos en cuenta que
Lambertw(x)=w
es la funci on denida implcitamente por we
w
= x, lo que se obtiene es
y
2
exp(y
2
) = K exp(2 sen(x)).
Ejemplo 2.4 Resolver la ED anterior, es decir, y cos(x)dx (1 + y
2
)dy = 0, y(0) = 1, separando
las variables.
Nota sobre el ejemplo 2.3. Supongamos que G(Lambertw(x), y, x, C) = 0, es la soluci on gene-
ral (con parametro C), de una ED y

= f(x, y). Entonces podemos hallar una expresion equiva-


lente a la anterior si somos capaces de despejar a Lambertw(x) = w. En efecto, supongamos que
Lambertw(x) = F(x). Sabiendo que Lambertw(x) = w se caracteriza por satisfacer la ecuacion
w(x)e
w(x)
= x, entonces la nueva expresion de la soluci on general es F(x)e
F(x)
= x.
Resolucion del ejemplo 2.4
Escribimos de una vez en la lnea de comandos
>> x=solve(int(cos(x),x)-int((1+y^2)/y,y))
x =
asin(1/2*y^2+log(y))
para obtener sen(x) = log(y) + y
2
/2 + c, que es la solucion general de la ED.
Para hallar la soluci on correspondiente a las condiciones iniciales dadas hacemos
>>c=simple(sym(solve(subs(x=0,y=1,sin(x)=log(y)+1/2*y^2+c),c)))
c=-1/2
14 Clase Practica 2
es decir, de nuevo obtenemos la solucion particular: sen(x) = ln(y) + (y
2
1)/2.
Ejercicio 2.1 Aplicar herramientas MATLAB para resolver los siguientes ejercicios extrados del
Boletn 2.
a) y

+ y
2
sen(x) = 0 b) 4xy dx + (x
2
+ 1)dy = 0
c) xy

= y +
_
x
2
y
2
d) (x y)dy = (x + 3y)dx
e) (x
2
+ 1)dy = (y
2
+ 1)dx, y(0) = 1/2 f) (1 +e
x
)yy

= e
y
, y(0) = 0
2.2 ECUACIONES DIFERENCIALES HOMOG

ENEAS
Ejemplo 2.5 Resolver la ED (x
2
y
2
)dx +xydy = 0.
Resolucion del ejemplo 2.5
Es claro que es una ED homogenea pues P(x, y) = x
2
y
2
y Q(x, y) = xy son funciones homogeneas
del mismo grado 2.
Se sabe entonces que el cambio de variable z = y/x la transforma en una ED en variables
separadas.
Para resolverla usando objetos simb olicos del MATLAB se escribe la ED en la forma
y

+ (x
2
y
2
)/(xy) = 0,
y se siguen los pasos siguientes:
>>syms x y z
>>y=x*z;
>>y=subs(y,z(x),z)
y =x*z(x)
>>subs(diff(y,x)+(x^2-y^2)/(x*y),y,y)
ans =z(x)+x*diff(z(x),x)+(x^2-x^2*z(x)^2)/x^2/z(x)
La respuesta ans es la ED de variables separables que, para simplicar, resolvemos directamente
usando el comando DSOLVE.
>>z=dsolve(z+x*Dz+(x^2-x^2*z^2)/x^2/z=0,x)
z =[ (-2*log(x)+C1)^(1/2)]
[ -(-2*log(x)+C1)^(1/2)]
Finalmente se deshace el cambio y se obtiene en forma implcita la soluci on
(y/x)
2
= 2 log(x) + C1.
2.3 ECUACIONES DIFERENCIALES EXACTAS
Consideremos la una ED de orden uno, que puede escribirse en la forma diferencial, es decir
P(x, y)dx +Q(x, y)dy = 0.
Clase Practica 2 15
Si P y Q tienen derivadas parciales primeras continuas en un abierto simplemente conexo D, entonces
en D equivalen:
1. P(x, y)dx +Q(x, y)dy = 0 es exacta.
2. P/y = Q/x.
Si la ED es exacta entonces existe el potencial F(x, y) tal que F/x = P y F/y = Q y la soluci on
general es F(x, y) = C.
Para la obtencion de F se procede como sigue.
Integramos a F(x, y) respecto a una sola de sus variables, digamos x.
F(x, y) =
_
P(x, y)dx + f(y),
donde f(y) es una constante que depende de la variable y que ha permanecido constante durante la
integraci on. Notar que para determinar a F(x, y) solo resta hallar a f(y)
Si derivamos con respecto a y
Q =
(
_
P(x, y)dx)
y
+f

(y).
Luego
f

(y) = Q
(
_
P(x, y)dx)
y
.
Integrando respecto a y la anterior expresion obtenemos f(y). La solucion general es
F(x, y) = C, C R.
Ejemplo 2.6 Comprobar que la ED (2x+y)dx+(x3y)dy = 0, es exacta. Resolver dicha ecuacion
y representar las soluciones.
Resolucion del ejemplo 2.6
Utilizamos las herramientas Matlab de la siguiente manera.
>>P=2*x+y;
>>Q=x-3*y;
>>test=diff(P,y)-diff(Q,x)
test =0
>>F1=int(P,x);
F1 =x^2+y*x
>>derf=Q-diff(F1,y)
derf =-3*y
>>f=int(derf,y)
f =-3/2*y^2
>>F=F1+f
F =x^2+y*x-3/2*y^2
16 Clase Practica 2
Fig. 2.2: Graco del ejemplo 2.6
Por lo tanto la soluci on general es x
2
+xy 3/2y
2
= C.
Para representar gr acamente las soluciones, o curvas de nivel, escribimos (ver gura 2.2)
>>[x,y]=meshgrid(0:0.1:3);
>>z=x.^2+y.*x-3/2*y.^2;
>>contour(x,y,z,15)
Ejemplo 2.7 Comprobar que la ED y

=
x
2
y
2
, es exacta. Resolver dicha ED y representar las solu-
ciones.
Resolucion del ejemplo 2.7
>>P=x^2;
>>Q=-y^2;
>>test=diff(P,y)-diff(Q,x)
test =0
>>F1=int(P,x)
F1 =1/3*x^3
>>derf=Q-diff(F1,y)
derf =-y^2
>>f=int(derf,y)
f =-1/3*y^3
>>F=F1+f
F =1/3*x^3-1/3*y^3
Por lo tanto, la soluci on general de la ED es 1/3x
3
1/3y
3
= C.
Para representar las soluciones escribimos (ver gura 2.3)
Clase Practica 2 17
Fig. 2.3: Graco del ejemplo 2.7
>>[x,y]=meshgrid(-3:0.05:3);
>>z=z=1/3*x.^3-1/3*y.^3;
>>contour(x,y,z,15)
Ejemplo 2.8 Comprobar que la ED cosh(x) sen(y) + senh(x) cos(y)y

= 0, es exacta. Resolver
dicha ecuacion y representar las soluciones.
Resolucion del ejemplo 2.8
>>P=cosh(x)*sin(y);
>>Q=sinh(x)*cos(y);
>>test=diff(P,y)-diff(Q,x)
test =0
>>F1=int(P,x)
F1 =sin(y)*sinh(x)
>>derf=Q-diff(F1,y)
derf =0
>>f=int(derf,y)
f =0
>>F=F1+f
F =sin(y)*sinh(x) Por lo tanto, la soluci on del ejemplo 2.8 es sen(y) senh(x) = C. Para
representar las soluciones escribimos (ver gura 2.4)
>>[x,y]=meshgrid(0:0.05:2);
>>z=sin(y).*sinh(x);
>>contour(x,y,z,15)
18 Clase Practica 2
Fig. 2.4: Graco del ejemplo 2.8
2.4 ECUACI

ON DE CLAIRAUT
Recordemos que la ecuaci on de Clairaut es de la forma
y = xy

+f(y

). (2.1)
El metodo de resolucion es hacer y

= p y derivar respecto a x, teniendo en cuenta que p = p(x).


Nos queda entonces la expresi on siguiente
dp
dx
(x + f

(p)) = 0.
Si
dp
dx
= 0 entonces y

= C y por tanto teniendo en cuenta (2.1) se obtiene que


y = Cx + f(C), C R, (2.2)
siendo (2.2) un haz de rectas, todas ellas soluci on de la ecuaci on original (2.1).
Si x + f

(p) = 0, usando (2.1) se obtiene la solucion singular en forma parametrica:


x = f

(p),
y = f

(p)p +f(p).
En general no es necesario eliminar p para obtener una ecuaci on de la forma G(x, y) = 0, y de hecho,
podra resultar muy difcil o imposible.
Ejemplo 2.9 Resolver la ecuacion de Clairaut y = xy


1
4
(y

)
2
. Representar la solucion general
obtenida, as como la solucion singular.
Clase Practica 2 19
Fig. 2.5: Graco del ejemplo 2.9
Resolucion del ejemplo 2.9
>>sol=dsolve(y=x*Dy-1/4*Dy^2,x)
sol = [ x*C1-1/4*C1^2]
[ x^2]
La segunda funci on es la envolvente de la familia integral de la ecuaci on.
Para dar una idea gr aca aproximada del conjunto soluci on hacemos (ver gura 2.5)
>>x=(-4:0.1:4);
>>y=x.^2; z=0; %envolvente y recta para C1=0
>>w=x.*2-1; %recta para C1=2
>>u=x.*8-16; %recta para C1=8
>>v=x.*4- 4; %recta para C1=4
>>t=x.*3-9/4; %recta para C1=3
>>j=x.*(-2)-1; %recta para C1=-2
>>plot(x,y,x,z,x,w,x,u,x,v,x,t,x,j)
>>legend(Envolvente,C1=0,C1=2,C1=8,C1=4,C1=3,C1=-2)
Ejercicio 2.2 Resolver utilizando herramientas MATLAB, la ecuacion de Clairaut y = xy

+ln(y

).
2.5 ECUACI

ON DE BERNOULLI
La llamada ecuacion de Bernoulli es de la forma
y

+p(x)y = q(x)y
n
.
Ejemplo 2.10 Resolver el PVI y

+ y/x = y
2
ln(x), y(1) = 1, y representar la solucion.
20 Clase Practica 2
Resolucion del ejemplo 2.10
>>sol=dsolve(Dy+y/x=y^2*log(x),y(1)=1,x)
sol =2/x/(-log(x)^2+2)
La graca en el intervalo [1, 3] se obtiene ejecutando (ver gura 2.6)
>>ezplot(sol,[1,3])
Ejercicio 2.3
1. Resolver la ED 3xy

2y =
x
3
y
2
.
2. Resolver el PVI 3xy

2y =
x
3
y
2
, y(1) = 1.
Fig. 2.6: Graco del ejemplo 2.10
La ED de Bernoulli
y

+p(x)y = q(x)y
n
se resuelve transformandola en lineal, para lo cual se procede como sigue:
Se divide la ED por y
n
y se hace el cambio z =
1
y
n1
, obteniendo una ED lineal en z(x).
>>syms p q n
>>y=z^(1/(1-n));
>>y=subs(y,z(x),z)
y =z(x)^(1/(1-n))
>>op=diff(y,x)+p*y-q*y^n;
>>a=op/z(x)^(n/(1-n))
a=(z(x)^(1/(1-n))/(1-n)*diff(z(x),x)/z(x)p*+...
z(x)^(1/(1-n))-q*(z(x)^(1/(1-n)))^n)/(z(x)^(n/(1-n)))
Ejemplo 2.11 Resolver la ecuacion y

+y/x = log(x)y
3
, aplicando el metodo antes explicado.
Clase Practica 2 21
Resolucion del ejemplo 2.11
>>syms x
>>y=z^(1/(1-3));
>>y=subs(y,z(x),z)
y =z(x)^(1/(1-3))
>>op=diff(y,x)+y/x-log(x)*y^3
op =-1/2/z(x)^(3/2)*diff(z(x),x)+1/z(x)^(1/2)/x-log(x)/z(x)^(3/2)
>>a=op/z(x)^(3/(1-3));
>>a=simplify(a)
a =-1/2*(diff(z(x),x)*x-2*z(x)+2*log(x)*x)/x
A continuaci on se resuelve la anterior ED lineal usando DSOLVE
>>z=dsolve(-1/2*Dz+z/x=log(x),x)
z =2*log(x)*x+2*x+x^2*C1
Finalmente se debe deshacer el cambio z = 1/y
2
para obtener la soluci on.
2.6 FACTOR INTEGRANTE
Recordemos que si la ED P(x, y)dx + Q(x, y)dy = 0 no es exacta, siempre existe una funcion =
(x, y) tal que P(x, y)dx +Q(x, y)dy = 0 s es exacta. Los casos aparentemente mas sencillos son
aquellos en que puede encontrarse un factor , llamado factor integrante (f.i.), que s olo depende
de x o s olo depende de y. Un ejemplo de f.i. que depende de ambas variables x e y es aquel que
encontramos para la ED
(xy
2
yx
2
)dx +x
3
dy = 0. (2.3)
Si llamamos P(x, y) = xy
2
yx
2
y Q(x, y) = x
3
comprobaremos que
1
xP +yQ
=
1
x
2
y
2
es un f.i. para la ED (2.3).
La comprobacion de lo anteriormente dicho podemos hacerla facilmente con MATLAB.
>>syms x y
>>P=x*y^2-y*x^2;Q=x^3;
>>Test=diff(P,y)-diff(Q,x); %No es exacta
>>M=1/(x*P+y*Q); %f.i. en (x,y)
>>P=M*P;Q=M*Q ;
>>Test1=simplify(diff(P,y)-diff(Q,x))
Test1=0
La respuesta Test1 =0 demuestra experimentalmente que M = x
2
y
2
es ciertamente un f.i.
para (2.3).
22 Clase Practica 2
El potencial F(x, y) se obtiene mediante las siguientes operaciones.
>>F1=int(P,x)
>>derf=Q-diff(F1,y);
>>f=int(derf,y)
>>F=F1+f
para obtener que F = log(x) x/y, por lo tanto la soluci on es log(x) x/y = C.
Nota 2.1 El anterior procedimiento puede aplicarse a cualquier ecuacion homogenea. El alumno
puede comprobar que en el caso P = x
2
y
2
, Q = xy, el f.i. que se obtiene depende de una sola
variable.
Ejemplo 2.12 Usar MATLAB para resolver la siguiente ED del Boletn 2.
y

x +y. (2.4)
Resolucion del ejemplo 2.12
La soluci on puede obtenerse mediante el cambio z = x+y, ya que es de la forma: y

= G(ax+by +c)
con a = b = 1, c = 0 y G(t) =

t. Sin embargo, a un no tenemos explicaci on para el siguiente


resultado MATLAB:
>>dsolve(Dy=sqrt(x+y),x)
ans =0
Es simple comprobar que y = 0 no es soluci on de la ecuaci on. Sin embargo, si elevamos al cuadrado
ambos miembros, aunque introduzcamos soluciones adicionales, entonces s obtenemos respuesta:
>>dsolve(Dy^2=(x+y),x)
ans =
[ 1-x]
[ (-lambertw(-exp(-1-1/2*x+1/2*C1))-1)^2-x]
Notemos que ahora tenemos todas las soluciones de
y

x +y.
Mediante comprobaci on directa vemos que y = 1 x es solamente solucion de
y

x +y
Por otra parte, teniendo en cuenta que lambertw(x)=w(x) cumple
w(x)e
w(x)
= x,
obtenemos de la propia respuesta dada por MATLAB
(-lambertw(-exp(-1-1/2*x+1/2*C1))-1)^2-x
Clase Practica 2 23
la siguiente expresion:
(1

x +y) exp(1

x + y) = exp(x/2 + C)
Para nuestro problema original, tenemos como respuesta la siguiente ecuaci on
(1 +

x +y) exp(1

x +y) = exp(x/2 + C) (2.5)


a la cual podemos llegar con el cambio z = x +y, sin usar herramientas MATLAB.
Insistamos en el problema. La respuesta MATLAB se obtuvo al integrar la ecuacion
y = (y

)
2
x,
que es de la forma, resuelta respecto a y, del tipo Lagrange
y = (1)x + (y

)
2
.
Hacemos y

= p y derivamos con respecto a x para obtener la ecuaci on lineal en x = x(p)


(p + 1)x

= 2p,
que se integra f acilmente obteniendo
x = 2p log(p + 1) + C,
y = p
2
2p + log(p + 1) C,
(2.6)
teniendo en cuenta que y = p
2
x.
Aunque parezca a primera vista que es difcil, en realidad es muy f acil eliminar p =

x +y de
las ecuaciones (2.6), para deducir (2.5).
Por lo tanto (2.4) puede ser considerada de dos maneras. A saber, como de la forma y

=
G(ax +by + c), y como Lagrange y = xf(y

) + g(y

).
Tambien podemos ver la ED del ejemplo (2.12) como la ecuaci on no exacta

x +y dx dy = 0.
Lo mas interesante ahora es que resulta infructuoso el intento de hallar un f.i. que s olo dependa de
x o que s olo dependa de y. Comprobarlo!
En este caso la sugerencia es descubrir que la ED admite un f.i. de la forma (x, y) = (x + y).
Para obtenerlo procedemos de la forma siguiente.
Tenemos P =

x + y y Q = 1. Si es de la forma anterior es f.i. entonces debe ser


(P)
y
=
(Q)
x
,
es decir,

x +y +
1
2

x +y
=
x
,
24 Clase Practica 2
o equivalentemente

(x +y)

x +y + (x +y)
1
2

x + y
=

(x +y).
Debido a la forma de , y a la expresi on anteriormente calculada, si hacemos t = x +y, obtenemos,
separando las variables.
d

=
dt
2

t(1 +

t)
(2.7)
En todo lo anterior, tener en cuenta que hemos usado la regla de la cadena para calcular las derivadas
de respecto a x e y, esto es,

x
(x, y) =

(x +y),

y
(x, y) =

(x +y),
siendo

la derivada ordinaria de la funci on (t).


Integrando (2.7) obtenemos que el f.i. de la ED es
(x, y) =
1
1 +

x +y
.
Notar que en este caso (t) = 1/(1 +

t).
Sabiendo que Pdx +Qdy = 0 es exacta procedemos al calculo del potencial F(x, y).
La integral general es F(x, y) = C.
Ejercicio 2.4 Resolver el siguiente PVI (Boletn 2) y

=
_
y
x
, y(1) = 4.
CLASE PR

ACTICA 3
Resoluci on simbolica de sistemas diferenciales
OBJETIVOS
Ejercitar el uso combinado de tecnicas matem aticas y herramientas simbolicas del MATLAB para el
estudio y resoluci on de sistemas diferenciales lineales y ecuaciones lineales de orden superior.
3.1 SISTEMA LINEAL HOMOG

ENEO DE
COEFICIENTES CONSTANTES
Ejemplo 3.1 Resolver el sistema diferencial lineal siguiente
x

= 5x + 3y
y

= 2x 10y
1. Mediante el comando DSOLVE.
2. Usando herramientas MATLAB pero siguiendo la via matricial.
Resolucion del ejemplo 3.1
I- MATLAB resuelve directamente este tipo de sistemas utilizando el comando DSOLVE con la sin-
taxis conocida. Si llamamos S a la soluci on y escribimos
>>S=dsolve(Dx=-5*x+3*y,Dy=-2*x-10*y)
MATLAB devuelve las componentes simb olicas de la solucion:
S=
x: [1x1 sym]
y: [1x1 sym]
25
26 Clase Practica 3
Para obtener explcitamente la soluci on S se pide cada una de sus componentes [S.x,S.y] o
pretty([S.x,S.y])
>>pretty([S.x,S.y])
[-2C1 exp(-8t)+3C1 exp(-7t)+3C2 exp(-7t)-3C2 exp(-8t),
-2C1 exp(-7t)+2C1 exp(-8t)+3C2 exp(-8t)-2C2 exp(-7t)]
es decir, la respuesta es
x = C
1
(2e
8t
+ 3e
7t
) + 3C
2
(e
7t
e
8t
)
y = 2C
1
(e
7t
+ e
8t
) + C
2
(3e
8t
2e
7t
)
Alternativamente se puede obtener directamente la respuesta indicando las componentes del vector
soluci on.
>>[x,y]=dsolve(Dx=-5*x+3*y,Dy=-2*x-10*y)
x=-2*C1*exp(-8*t)+3*C1*exp(-7*t)+
3*C2*exp(- 7*t)-3*C2*exp(-8*t)
y=-2*C1*exp(-7*t)+2*C1*exp(-8*t)+
3*C2*exp(- 8*t)-2*C2*exp(-7*t)
Otra va para resolver el anterior sistema lineal homogeneo, de coecientes constantes, es seguir
la via matricial directa. Para ello comenzamos escribiendo el sistema en forma matricial:
_
x
y
_

=
_
5 3
2 10
__
x
y
_
= A
_
x
y
_
Conocer la soluci on general de este sistema signica conocer una matriz fundamental R(t) del mismo.
Eso es lo que calcularemos mediante comandos MATLAB.
II- Sabemos que R(t) = e
tA
. Para calcular e
tA
usaremos el comando EXPM de MATLAB.
>>A=[-5 3;-2 -10];%Crear la matriz A
>>syms t %declarar simbolica t
>>Rt=expm(t*A); %calcular matriz fundamental
>>X1=Rt(:,1); %opcional calculo de un SFS,
>>X2=Rt(:,2); %es decir, de las columnas de R(t)
>>diff(X1)-A*X1 %Pueden hacerse comprobaciones
ans = [ 0]
[ 0]
>>diff(X2)-A*X2
ans = [ 0]
[ 0]
Clase Practica 3 27
Visualizar Rt y comparar con los resultados anteriores
>>Rt
Rt =
[-2*exp(-8*t)+3*exp(-7*t),3*exp(-7*t)-3*exp(-8*t)]
[-2*exp(-7*t)+2*exp(-8*t),3*exp(-8*t)-2*exp(-7*t)]
>>X1
X1 =
[-2*exp(-8*t)+3*exp(-7*t)]
[-2*exp(-7*t)+2*exp(-8*t)]
>>X2
X2 =
[-3*exp(-8*t)+3*exp(-7*t)]
[-2*exp(-7*t)+3*exp(-8*t)]
3.2 SISTEMA LINEAL COMPLETO DE
COEFICIENTES CONSTANTES
Ejemplo 3.2 Resolver el sistema diferencial lineal siguiente:
x

y = e
t
y

+ 5x + 2y = sen(3 + t),
con x(0) = 1, y(0) = 1.
1. Directamente usando DSOLVE.
2. Utilizando el MVP
(1
.
Resolucion del ejemplo 3.2
1. Mediante DSOLVE
>>[x,y]=dsolve(Dx-y=exp(t),Dy+5*x+2*y=sin(3+t),x(0)=1,y(0)=-1)
x=
1/2*exp(-t)*sin(2*t)*(5/8-1/5*sin(3)+1/10*cos(3))+1/2*exp(-t)*...
sin(2*t)*(-3/8-1/5*cos(3)-1/10*sin(3))+(5/8-1/5*sin(3)+1/10*...
cos(3))*exp(-t)*cos(2*t)+3/8*exp(t)+1/5*sin(3+t)-1/10*cos(3+t)
y=
1
Metodo de Variacion de Parametros
28 Clase Practica 3
-5/2*exp(-t)*sin(2*t)*(5/8-1/5*sin(3)+1/10*cos(3))-1/2*...
exp(-t)*sin(2*t)*(-3/8-1/5*cos(3)-1/10*sin(3))+1/5*cos(3+t)...
+(-3/8-1/5*cos(3)-1/10*sin(3))*exp(-t)*cos(2*t)-5/8*exp(t)...
+1/10*sin(3+t)
2. Para la resolucion mediante el MVP usaremos la formula correspondiente para obtener una
soluci on particular del sistema diferencial lineal X

= A(t)X + B(t). La soluci on general del


mismo es
X(t) = R(t)V +R(t)
_
t
0
R(s)
1
B(s)ds, (3.1)
siendo R(t) una matriz fundamental y V R
n
.
La f ormula (3.1) corresponde al caso general A(t) de coecientes variables. El caso particular
de coecientes constantes aparece a continuaci on.
Recordemos que, en caso de sistemas diferenciales homogeneos con coecientes constantes,
X

= AX, una matriz fundamental est a dada por R(t) = e


tA
.
Luego, si se trata de un sistema completo de coecientes constantes X

= AX + B(t), una
soluci on particular X
p
est a dada por
X
p
= e
tA
_
t
0
e
sA
B(s)ds.
Para resolver el sistema diferencial lineal del ejemplo 3.2, es decir
x

y = e
t
y

+ 5x + 2y = sen(3 + t),
con x(0) = 1, y(0) = 1, usaremos la f ormula general de variaci on de parametros para hallar
una solucion particular X
p
del sistema no homogeneo.
>>syms s t
>>A=[0 1;-5 -2];
>>Bt=[exp(t);sin(3+t)];
>>Bs=subs(Bt,s,t);
>>Rt=expm(t*A)
Rt=[exp(-t)*cos(2*t)+1/2*exp(-t)*sin(2*t),1/2*exp(-t)*sin(2*t)]
[-5/2*exp(-t)*sin(2*t), exp(-t)*cos(2*t)-1/2*exp(-t)*sin(2*t)]
>>Rs=subs(Rt,s,t)
Rs=[exp(-s)*cos(2*s)+1/2*exp(-s)*sin(2*s),1/2*exp(-s)*sin(2*s)]
Clase Practica 3 29
[-5/2*exp(-s)*sin(2*s),exp(-s)*cos(2*s)-1/2*exp(-s)*sin(2*s)]
>>Xp=Rt*int(Rs\Bs,s,0,t);
>>Prueba=diff(Xp)-A*Xp-Bt;% Comprobacion
Si
>>simplify(Prueba)
no produce [0;0], ejecutar
>>ezplot(Prueba(1),[-1,1]),
>>ezplot(Prueba(2),[-1,1])
para apreciar, con cierta signicaci on, que realmente Prueba es cero.
(2
La formulaci on explcita de la soluci on particular X
p
se compone de una cadena de caracteres
demasiado larga y por tanto de reducida utilidad, en efecto, si hacemos la conversi on de SYM
a STRING mediante el comando CHAR, tendremos que
>>size(char(Xp))
ans =
1 1669
es decir, Xp est a compuesto de 1669 caracteres!
La gura 3.1 muestra gr acamente el resultado de ejecutar ezplot(Prueba(2),[-1,1]). El rango
de variaci on en el intervalo [1, 1] sugiere la nulidad con una signicacion del orden de 10
15
.
Ejemplo 3.3 Resolver el siguiente sistema lineal completo de coecientes constantes
x

+x + 2y = cos(t) + sen(t) + e
t
y

2x +y = sen(t) cos(t),
x(0) = 1, y(0) = 1.
Obtencion de la soluci on del ejemplo 3.3 mediante DSOLVE
>>sis1=Dx+x+2*y=cos(t)+sin(t)+exp(-t);
>>sis2=Dy-2*x+y=sin(t)-cos(t);
>>[x,y]=dsolve(sis1,sis2,x(0)=1,y(0)=1)
x =cos(t)-1/2*exp(-t)*sin(2*t)
y =1/2*exp(-t)+sin(t)+1/2*exp(-t)*cos(2*t)
2
Los errores menores que eps 2.2e 16 se asume que son cero.
30 Clase Practica 3
Fig. 3.1: Evidencia gr aca de que Prueba(2) debe ser nula en [1, 1]
3.3 RESOLUCI

ON DE SISTEMAS DIFERENCIALES
LINEALES HOMOG

ENEOS DE COEFICIENTES
CONSTANTES POR LA VIA ESPECTRAL
Denici on 3.1 Valores y vectores propios.
Sea A una matriz constante, cuadrada de orden n. Decimos que es un valor propio o autovalor
de A si existe un vector u no nulo tal que Au = u. A este u se le llama vector propio o autovalor
asociado a .
3.3.1 Calculo de valores y vectores propios via MATLAB
Si A es una variable que contiene una matriz cuadrada, entonces
>>[V,D] = eig(A)
produce la matriz V = [u
1
u
n
] de autovectores, y la matriz diagonal D, tales que AV = V D.
Es decir, la diagonal principal de D contiene a los autovalores de A.
Si hacemos
>>valores_propios=eig(A)
almacenamos en la variable vectorial valores_propios a los valores propios de A.
Clase Practica 3 31
3.3.2 El metodo espectral
El siguiente resultado nos ofrece la herramienta teorica para resolver un sistema diferencial lineal
homogeneo, de coecientes constantes por la via de los valores y vectores propios.
Teorema 3.1 Si la matriz A tiene n valores propios diferentes
1
,...,
n
, y u
k
es un vector propio
asociado a
k
, k = 1, ..., n, entonces
e

1
t
u
1
, , e
nt
u
n
,
es un sistema o conjunto fundamental de soluciones (SFS) para el sistema diferencial X

= AX.
Ejemplo 3.4 Resolver por la via espectral, y aplicando herramientas MATLAB, el siguiente pro-
blema con valores iniciales
X

=
_
_
1 2 1
1 0 1
4 4 5
_
_
X(t) X(0) =
_
_
1
0
0
_
_
Indicaciones para resolver el ejemplo 3.4
Usar el comando EIG para calcular los valores y vectores propios de la matriz del sistema y vericar
si son diferentes dos a dos para aplicar el Teorema 3.1. Recordar que una vez tengamos una matriz
fundamental R(t), entonces
X(t) = R(t)
_
_
c
1
c
2
c
3
_
_
nos da la soluci on general del sistema. Luego, la unica solucion estar a dada por la solucion del
siguiente sistema
X(0) = R(0)
_
_
c
1
c
2
c
3
_
_
=
_
_
1
0
0
_
_
es decir,
_
_
c
1
c
2
c
3
_
_
= R(0)
1
_
_
1
0
0
_
_
32 Clase Practica 3
3.4 EEDD LINEALES DE ORDEN SUPERIOR
Las EEDD de orden superior pueden ser tratadas con el comando DSOLVE de una manera muy exi-
ble. Se presentan a continuaci on diversos ejemplos de EEDD homogeneas y completas de coecientes
constantes para las que se obtiene la soluci on general as como ciertas soluciones particulares.
Se presenta tambien un ejemplo de coecientes variables que corresponde a una Euler.
3.4.1 EEDD lineales de orden superior homogeneas
Ejemplo 3.5 Resolver la ED y

+ 4y

+ 4y = 0
Resolucion mediante MATLAB del ejemplo 3.5
>>S=dsolve(D2y+4*Dy+4*y=0)
S =C1*exp(-2*t)+C2*exp(-2*t)*t %(sol. gral.)
Observese que 2 es una raz doble del polinomio caracterstico
Ejemplo 3.6 Resolver el PVI y

+ 4y

+ 4y = 0, y(0) = 1, y

(0) = 4.
Resolucion mediante MATLAB del ejemplo 3.6
>>S=dsolve(D2y+4*Dy+4*y=0,y(0)=1,Dy(0)=4)
S=exp(-2*t)+6*exp(-2*t)*t %(sol. part.)
Notar que se ha obtenido C
1
= 1 y C
2
= 6. En todos los casos las respuestas son exactas, con
f ormulas cerradas.
3.4.2 EEDD lineales de orden superior completas
Ejemplo 3.7 Resolver la ED y

+y

+ 4y = 1.
Resolucion mediante MATLAB del ejemplo 3.7
>>S=dsolve(D2y+Dy+4*y-1=0)
S=1/4+C1*exp(-1/2*t)*cos(1/2*15^(1/2)*t)+C2*exp(-1/2*t)*...
sin(1/2*15^(1/2)*t)
Notar que el polinomio caracterstico tiene races complejas conjugadas (1 i

15)/2.
Ejemplo 3.8 Resolver y

= log(x)/x
2
, y(1) = 0, y

(1) = 1, y

(1) = 2.
Clase Practica 3 33
Resolucion mediante MATLAB del ejemplo 3.8
>>y=dsolve(D3y=log(x)/x^2,y(1)=0,Dy(1)=1,D2y(1)=2,x)
y=-1/2*log(x)^2*x+3/2*x^2-2*x+1/2
C

OMO SOLVENTAR DIFICULTADES RELACIONADAS CON DSOLVE?


Si una ED no admite solucion exacta en terminos del cat alogo de funciones elementales MATLAB,
entonces DSOLVE no puede ofrecer una soluci on. Existen otras causas que impiden a DSOLVE
llegar a una respuesta exacta pero su consideracion queda fuera de nuestras posibilidades.
En algunos casos el comando DSOLVE puede producir respuestas poco amigables, es decir, ex-
cesivamente largas o expresadas en terminos de funciones especiales poco usuales. En tales casos
debemos hallar metodos alternativos que produzcan soluciones, quiz as aproximadas pero mucho mas
potables. Para ilustrar lo dicho, a continuaci on se ofrece un ejemplo de EDL homogenea de cuarto
orden, cuya soluci on se obtiene de forma aproximada, siguiendo un metodo basado en nuestros
conocimientos teoricos. En el apendice se amplan los detalles tecnicos del metodo y se ejerce una
crtica necesaria.
Ejemplo 3.9 Considere la EDLH
(3
L[y] = 0, donde
L[y] = y
iv)
6y
iii)
+ 9y
ii)
24y
i)
20y.
Intente resolverla, es decir, halle informacion util sobre la solucion.
Desarrollo del ejemplo 3.9
Tratemos de resolver L[y] = 0 utilizando DSOLVE.
>>y=dsolve(D4y-6*D3y+9*D2y-24*Dy-20*y=0);
>> size(char(y))
ans = 1 2765
La respuesta
(4
consta de 2765 caracteres!
Siendo la EDL de coecientes constantes, podemos intentar hallar una respuesta, satisfactoria en
cierto sentido (ver Apendice), calculando un SFS a partir del polinomio caracterstico
P = m
4
6m
3
+ 9m
2
24m20.
Calculemos aproximadamente las races de P con alguno de los comandos SOLVE y ROOTS.
El comando SOLVE resuelve exactamente, en terminos de radicales, ecuaciones polin omicas
hasta el grado 4. ROOTS calcula aproximadamente las races de cualquier polinomio mediante un
3
Ecuacion Diferencial Lineal y Homogenea
4
La respuesta puede cambiar seg un la version MATLAB o el software que se utilice
34 Clase Practica 3
procedimiento muy eciente y preciso. No obstante, los resultados numericos obtenidos mediante
SOLVE deberan ser superiores, en algunos casos, a los producidos por ROOTS. El nivel de coin-
cidencia entre ambos es del orden 10
15
en el caso que nos ocupa, seg un se aprecia en las pruebas
numericas que se muestran a continuaci on.
>>format long e
>>S=numeric(solve(x^4-6*x^3+9*x^2-24*x-20))
S =
5.291305619991860e+00
6.653067648628088e-01+2.373811784418384e+00i
6.653067648628088e-01-2.373811784418384e+00i
-6.219191497174775e-01
>>R=roots([1 -6 9 -24 -20])
R =
5.291305619991865e+00
6.653067648628106e-01+2.373811784418383e+00i
6.653067648628106e-01-2.373811784418383e+00i
-6.219191497174774e-01
>>max(abs(R-S))
ans= 5.329070518200751e-015
El correspondiente SFS es
y
1
= e
0.6653067648628088 t
sen(2.373811784418384 t),
y
2
= e
0.6653067648628088 t
cos(2.373811784418384 t),
y
3
= e
5.291305619991860 t
y
4
= e
0.6219191497174775 t
Ver en el AP

ENDICE como intentamos valorar la calidad de esta soluci on aproximada.


Ejercicio 3.1 Dadas las siguientes EEDD
a.- y
iv)
10y
iii)
+ 3y
ii)
2y
i)
20y = 0,
b.- y
iii)
2y
ii)
+ 3y
i)
= 0,
c.- y
iv)
6y
iii)
+ 9y
ii)
24y
i)
+ 50y = 1,
obtener una solucion particular para la ED del apartado c) mediante el metodo de coecientes inde-
terminados (MCI) sin ayuda del MATLAB, y un SFS para a), b) y c).
Clase Practica 3 35
3.5 ECUACI

ON DE EULER Y DE EULER
GENERALIZADA
La ecuacion de Euler de segundo orden es de la forma
x
2
y

(x) + xy

(x) + y(x) = (x)


Recordemos que esta se transforma en una ED de coecientes constantes mediante el cambio x = e
t
,
y que la ecuaci on de Euler generalizada de segundo orden es de la forma
(ax +b)
2
y

(x) + (ax + b)y

(x) + y(x) = (x)


Ejemplo 3.10 Resolver
(2x + 1)
2
y

(4x + 2)y

12y = 8x.
Resolucion del ejemplo 3.10 mediante MATLAB
Aplicando DSOLVE se obtiene que
>>y=dsolve((2*x+1)^2*D2y-(4*x+2)*Dy-12*y=8*x,x)
y=2/3*x^3*(2+x)/(2*x+1)+ C1*(2*x+1)^3+C2/(2*x+1)
Ejercicio 3.2 A cuales de las siguientes EEDD, despues de ser transformadas en EDL de coe-
cientes constantes, puede aplicarse el MCI? Cual es la alternativa al MCI? Intentar resolverlas
mediante DSOLVE y mediante metodos artesanales. Contrastar los resultados.
1. (2x + 1)
2
y

(4x + 2)y

12y = 8x
2. x
2
y

+ 5xy

2y = 5 log(x)
3. (10x + 50)
2
y

3(x + 5)y

+ 7y = x
2
4. x
3
y

6x
2
y

+ 2xy = x + 1
5. 5x
2
y

6xy

+ y = e
x
3.6 C

ALCULO DE WRONSKIANOS Y APLICACIONES


En lo que sigue se utilizar a el wronskiano para el estudio de la independencia lineal de sistemas de
funciones. Tambien se aplicar a en la obtencion de una EDLH conocidas algunas de sus soluciones.
El wronskiano juega un papel relevante en la teora y practica de las EDL. Si y
1
e y
2
son funciones
denidas sobre el intervalo I, entonces el wronskiano W(y
1
, y
2
) de estas se dene como:
W(y
1
, y
2
)(t) = det
_
y
1
(t) y
2
(t)
y

1
(t) y

2
(t)
_
, t I.
36 Clase Practica 3
3.6.1 Wronskiano e independencia lineal
Teorema 3.2 Sean x
1
(t) y x
2
(t) dos soluciones de una ED del tipo
x

(t) + p(t)x

(t) + q(t)x(t) = 0,
con p(t) y q(t) continuas en I.
Entonces se cumple que:
x
1
y x
2
son linealmente independientes en I
W(x
1
, x
2
)(t) ,= 0 t I
t I tal que W(x
1
, x
2
)(t) ,= 0.
Nota 3.1 Sean x
1
y x
2
de clase 1 en I, no necesariamente soluciones de una EDLH. Entonces
1) W(x
1
, x
2
)(t) ,= 0 para alg un t I x
1
y x
2
son linealmente independientes en I.
2) Sin embargo, es posible que x
1
y x
2
sean linealmente independientes en I y W(x
1
, x
2
)(t) = 0
en alg un I. Por ejemplo, t y t
2
son l.i. en [1/2, 1/2] y W(t, t
2
)(0) = 0.
Ejemplo 3.11 Calcular el Wronskiano de e
2t
y senh(t) 2 cosh(2t).
Resolucion del ejemplo 3.11
>>a=[exp(-2*t), sinh(t)-2*cosh(2*t)] ;
>> b=diff(a,t) % tambien diff(a)
b=[-2*exp(-2*t),cosh(t)-4*sinh(2*t)]
>> c=[a;b]
c=[exp(-2*t),sinh(t)-2*cosh(2*t)]
[-2*exp(-2*t),cosh(t)-4*sinh(2*t)]
>>d=det(c) %(es el Wronskiano pedido)
d=exp(-2*t)*cosh(t)-4*exp(-2*t)*sinh(2*t)+...
2*exp(-2*t)*sinh(t)-4*exp(-2*t)*cosh(2*t)
Para abreviar puede utilizarse el programa WRONSKY.M, que puede descargarse desde la Web
de la asignatura [15].
Ejemplo 3.12 Calcular el Wronskiano de e
x
, e
2x
y e
3x
.
Resolucion del ejemplo 3.12.
>>a=[exp(x),exp(2*x),exp(3*x)];
>>b=diff(a,x);
>>c=diff(b,x);
>>d=[a;b;c]
Clase Practica 3 37
d=[exp(x),exp(2*x),exp(3*x)]
[exp(x),2*exp(2*x),3*exp(3*x)]
[exp(x),4*exp(2*x),9*exp(3*x)]
>>W=det(d)%%%%(es el Wronskiano)
W=2*exp(x)*exp(2*x)*exp(3*x)
Ejemplo 3.13 Determinar si las siguientes funciones son linealmente independientes:
f(t) = e
t
sen(2t) y g(t) = sen(t) cos(t) en el intervalo [1/2, 3/4].
Resolucion del ejemplo 3.13 usando MATLAB
>>syms a b c d t
>>a=[exp(t)*sin(2*t),sin(t)*cos(t)];
>>b=diff(a,t);
>>c=[a;b];
>>d=det(c);
>>d=simplify(d)
d=2*exp(t)*sin(2*t)*cos(t)^2-exp(t)*...
sin(2*t)- sin(t)*cos(t)*exp(t)*...
sin(2*t)-2*sin(t)*cos(t)*exp(t)*cos(2*t)
>>W=subs(d,3/4,t)
W=-1.05320353709056
Por lo tanto f y g son linealmente independientes.
Ejemplo 3.14 Estudiar la independencia lineal de f(t) = 1, g(t) = t + 1, h(t) = 3t
2
+ 2t 4 en
(1, 2).
Resolucion del ejemplo 3.14 usando MATLAB
>>syms t
>>a=[1,-t+1,3*t^2+2*t-4];
>>b=diff(a,t);
>>c=diff(b,t);
>>d=[a;b;c];
>>e=det(d)
e =-6
Por lo tanto las funciones son l.i.
Ejemplo 3.15 Dadas las familias de funciones
38 Clase Practica 3
a) y
1
= e
x
, y
2
= e
2x
, y
3
= e
3x
b) y
1
= 1, y
2
= x, y
3
= 1/(1 + x
2
)
c) y
1
= sen(x), y
2
= x
d) y
1
= e
x
, y
2
= cos(3x)
e) y
1
= x, y
2
= x
2
+ 1, y
3
= x
2
+ 2x + 1
hallar para cada una la EDL homogenea con el menor orden posible para la cual las funciones y
i

forman parte de un conjunto fundamental de soluciones, considerando por separado los casos
1. coecientes constantes (cuando sea posible),
2. coecientes variables.
Construcci on de una EDLH de coecientes variables teniendo a las funciones del ejemplo
3.15, apartado b) como SFS
Pueden ejecutarse comandos MATLAB en lnea tal como se muestra a continuacion, o utilizar el
programa WRONSKY.
>>syms x y dy d2y d3y
>>A=[1 x 1/(1+x^2)];
>>A1=[y,A];
>>A2=[dy,diff(A)];
>>A3=[d2y,diff(A,2)];
>>A4=[d3y,diff(A,3)];
>>W=det([A1;A2;A3;A4])
W=-2*(12*d2y*x^3-12*d2y*x+2*d3y*x^2+3*d3y*x^4-d3y)/(1+x^2)^4
La ecuaci on es W = 0, siendo dy = y

, d2y = y

, etc. Si se selecciona un intervalo dominio I


0
,
entonces I
0
no debe contener ceros del wronskiano.
3.7 SOLUCIONES PARTICULARES DE EEDD
LINEALES COMPLETAS
3.7.1 Metodo de coecientes indeterminados (MCI)
El MCI es aplicable cuando la ED tiene coecientes constantes y la parte completa es de tipo CI.
Ejemplo 3.16 Obtener una solucion particular de la ED
x

+ 3x

4x = 3 sen(t) + 7e
4t
e
2t
Clase Practica 3 39
Resolucion del ejemplo 3.16 con DSOLVE
>>y=dsolve(D2x+3*Dx-4*x=0)
y=C1*exp(t)+C2*exp(-4*t)
que es la soluci on general de la homogenea.
Teniendo en cuenta la forma de la parte completa de la ED, se busca una soluci on particular x
p
que sea combinacion lineal de
x
1
= sen(t), x
2
= cos(t), x
3
= te
4t
, y x
4
= e
2t
.
>>syms t A B C D
>>xp=A*sin(t)+B*cos(t)+C*t*exp(-4*t)+D*exp(2*t);
que es la soluci on particular buscada.
Para determinar los coecientes A, B, C y D se debe sustituir x
p
en la ED.
>>l=diff(xp,2,t)+3*diff(xp,t)-4*xp
l=
-5*A*sin(t)-5*B*cos(t)-5*C*exp(-4*t)+6*D*exp(2*t)+3*A*cos(t)-3*B*sin(t)
>>eqn=l-3*sin(t)-7*exp(-4*t)+exp(2*t)
eqn=
-5*A*sin(t)-5*B*cos(t)-5*C*exp(-4*t)+6*D*exp(2*t)+3*A*cos(t)-3*B*sin(t)-...
3*sin(t)-7*exp(-4*t)+exp(2*t)
Para resolver eqn=0 y as obtener A, B, C, y D, se eval ua eqn y sus derivadas 1ra, 2da y 3ra en
un punto (en este caso tomamos el punto 0), obteniendose un sistema cuya resoluci on nos da A, B,
C, y D.
>>eqn1=subs(eqn,0,t)
eqn1=
-6-5*B-5*C+6*D+3*A
>>eqn2=subs(diff(eqn,t),0,t)
eqn2=
-5*A+27+20*C+12*D-3*B
>>eqn3=subs(diff(eqn,t,2),0,t)
eqn3=
-108+5*B-80*C+24*D-3*A
>>eqn4=subs(diff(eqn,t,3),0,t)
eqn4=
5*A+459+320*C+48*D+3*B
40 Clase Practica 3
A continuaci on se resuelve el sistema lineal formado por las 4 ecuaciones eqn1, eqn2, eqn3 y
eqn4, con las inc ognitas A, B, C, y D.
>>[A B C D]=solve(eqn1,eqn2,eqn3,eqn4)
A =-15/34
B =-9/34
C =-7/5
D =-1/6
Una solucion particular es
xp=-15/34 *sin(t)-9/34 *cos(t)-7/5*t*exp(-4*t)-1/6 *exp(2*t)
El procedimiento anterior usado para el c alculo de los coecientes no es aconsejable sin la ayuda
de instrumentos de c alculo, pero s parece ser mas adecuado para simular el proceso en el ordenador.
En su defecto puede usarse el programa MCI descargable desde la Web de la asignatura [15].
3.7.2 Metodo de variacion de parametros (MVP)
Ejemplo 3.17 Obtener una solucion particular de la ED
t
2
x

+ tx

x = sen(t).
Se utilizara que x
1
= t y x
2
= 1/t son soluciones l.i. de la ED homogenea. (Se pueden obtener con
DSOLVE)
Resolucion del ejemplo 3.17
La solucion general de la homogenea es
x
h
= At +B/t, A, B R
y se busca una particular de la completa de la forma
x
p
= A(t)t + B(t)/t.
Sabemos que A

(t) y B

(t) son soluciones del sistema


_
t 1/t
1 1/t
2
__
A

(t)
B

(t)
_
=
_
0
sen(t)/t
2
_
Procedemos a resolver dicho sistema.
Clase Practica 3 41
>>syms t
>>a=[t,1/t]
>>b=diff(a);
>>c=[a;b]
c = [t,1/t ]
[1,-1/t^2]
>>W=det(c)
W =-2/t
>>A=int(sin(t)/(2*t^2))
>>B=int(-sin(t)/2)
>>xp=A*t+B*1/t
xp=(-1/2*sin(t)/t+1/2*cosint(t))*t+1/2*cos(t)/t
>>pretty(sym(xp))
/ sin(t) \ cos(t)
|- 1/2 ------ + 1/2 cosint(t)| t + 1/2 ------
\ t / t
Ejemplo 3.18 Obtener una solucion particular de la ED x

6x

+ 9x =
e
3t
t
2
.
Resolucion del ejemplo 3.18
>>y=dsolve(D2x-6*Dx+9*x=0)
y=C1*exp(3*t)+C2*exp(3*t)*t %(sol. gral. homogenea)
Para obtener
xp=A(t)*exp(3*t)+B(t)*exp(3*t)*t,
nos basamos en que A

(t) y B

(t) son soluciones del sistema


_
e
3t
te
3t
(e
3t
)

(te
3t
)

__
A

(t)
B

(t)
_
=
_
0
e
3t
/t
2
_
Por lo tanto, se procede a resolver dicho sistema
>>syms t
>>a=[exp(3*t),t*exp(3*t)]
>>b=diff(a,t);
>>c=[a;b]
c=[exp(3*t), t*exp(3*t)]
[3*exp(3*t),3*exp(3*t)*t+exp(3*t)]
>>W=det(c)
W =exp(3*t)^2
42 Clase Practica 3
>>A=int(-1/t)
A =-log(t)
>>B=int(1/t^2)
B =-1/t
>>xp=A*exp(3*t)+B*t*exp(3*t)
xp=-log(t)*exp(3*t)-exp(3*t)

Esta es la soluci on particular obtenida.


Ejemplo 3.19 Resolver mediante el MVP la ED
x

+ 3x

+ 2x = e
3t
cos(5t) + 2t
4
.
Resolucion del ejemplo 3.19
>>dsolve(D2x+3*Dx+2*x=0) % hallar un SFS
ans= C1*exp(-2*t)+C2*exp(-t)
Se buscan A(t) y B(t) para tener una soluci on particular x
p
cuya expresi on pretendemos que sea
x
p
= A(t)e
2t
+B(t)e
t
.
El procedimiento interactivo (lnea de comandos) aparece a continuaci on. Puede usarse el programa
MVP.M que se descarga desde la Web de la asignatura [15].
>>syms t
>>a=[exp(-2*t),exp(-t)];b=diff(a,t);c=[a;b]
c =[exp(-2*t),exp(-t)]
[-2*exp(-2*t),-exp(-t)]
>>H=[0;exp(3*t)*cos(5*t)+2*t^4];
>>S=inv(c)*H;A=int(S(1));B=int(S(2));
>>xp=simplify(A*exp(-2*t) +B*exp(-t))
xp=-8/205*cos(t)^5*exp(3*t)+72/205*cos(t)^4*sin(t)...
*exp(3*t)+2/41*cos(t)^3*exp(3*t)-54/205*cos(t)^2...
*sin(t)*exp(3*t)-1/82*cos(t)*exp(3*t)+9/410*...
sin(t)*exp(3*t)+t^4-6*t^3+21*t^2-45*t+93/2
Como alternativa podemos usar el MCI y el principio de superposici on, pero en cualquier caso es
mucho m as comodo usar directamente DSOLVE que aplica autom aticamente el principio de super-
posicion.
Clase Practica 3 43
3.8 REDUCCI

ON DE ORDEN
Ejemplo 3.20 Resolver la ED x

+ (2/t)x

+ x = 0, usando que f(t) = sen(t)/t es una solucion


particular.
Resolucion del ejemplo 3.20
Buscamos una soluci on de la forma
x = sen(t)/t v(t).
Derivando y sustituyendo en la ED y haciendo v

= y se llega a una ED de primer orden en y.


y

+ (2/t + 2f

(t)/f(t))y = 0.
Resolviendo esta ED se obtiene su soluci on general.
y = F(t, C
1
).
Como y = v

, integrando se obtiene
v = G(t, C
1
, C
2
).
Finalmente haciendo
x = f v
se obtiene la soluci on general de la ED.
Los pasos con MATLAB se indican a continuacion.
>>syms t C2 %ecuacion original x+2/tx+x=0
>>f=sin(t)/t
>>diff(f)
ans=cos(t)/t-sin(t)/t^2
>>diff(f)/f
ans=(cos(t)/t-sin(t)/t^2)/sin(t)*t
Se resuelve la ED y

+ (2/t + 2f

/f)y = 0 copiando f/f =diff(f)/f en DSOLVE


>>y=dsolve(Dy+2*(1/t+((cos(t)/t-sin(t)/...
t^2)/sin(t)*t))*y=0)
y =-2*C1/(-1+cos(2*t))
Como y = v

, se integra
>>v=int(y,t)+C2
44 Clase Practica 3
v =-C1/tan(t)+C2
Se usa que x = f v
>> x=sin(t)/t*v
x=sin(t)/t*(-C1/tan(t)+C2)
>>simplify(x)
ans=
-(C1*cos(t)-C2*sin(t))/t %(sol. gral.)
3.9 EJERCICIOS COMPLEMENTARIOS
Ejercicio 3.3
1. Investigar si las funciones y
1
(t) = e
t
, y
2
(t) = te
t
, e y
3
(t) = t
2
e
t
, son linealmente independientes
en [a, b].
2. Resolver el siguiente problema de CI
2y

+ 5y

+ 5y = 0, y(0) = 0, y

(0) = 1/2.
3. Resolver 9y
iv)
6y
iii)
+ 46y
ii)
6y
i)
+ 37y = 0.
4. Hallar la solucion general del sistema de ecuaciones
y

+ z

= exp(x)
y + z

= x
5. Determinar la solucion del sistema
x

= y
y

= z
z

= y
x(0) = 1, y(0) = 1, z(0) = 0.
6. Calcular una matriz fundamental para el sistema del apartado 5).
7. Intentar hallar la solucion de las siguientes EEDD mediante MATLAB.
(a) y

4ty

+y = 1
(b) y

4t
2
y

+ y = 0
(c) y

4ty

+ty = 0
Clase Practica 3 45
(d) ty

4y

+y = 0
(e) x

+ 5x

50x = 1/t
Ver en el AP

ENDICE una notas relativas a las funciones especiales que pueden aparecer en la
soluci on de algunos de los problemas anteriores.
3.10 AP

ENDICE
3.10.1 Notas sobre funciones especiales
Para complementar lo dicho en la clase No. 1 -pag. 4 de este material- sobre la funci on Lambertw,
mencionaremos otras funciones b asicas tambien incorporadas a MATLAB. Estas son: WhittakerW,
WhittakerM, besselj, bessely, Ei, dilog, la funcion de error erf, Heaviside, Dirac, etc, que
tambien pueden ser conocidas mediante MHELP. Se trata de funciones especiales para el matem atico
y el fsico debido a que son la soluci on de problemas especcos, frecuentes y de gran importancia en
determinados ambitos de la matematica, la ingeniera o la fsica.
La losofa que sigue el MATLAB respecto a estas funciones es la usual. Expresar las soluciones
de una ED en terminos de ciertas funciones especiales que hemos adoptado, y que son bien conocidas
en el sentido de que tenemos suciente informaci on acerca de ellas: intervalos de convexidad y de
crecimiento, maximos y mnimos locales, comportamiento asint otico en el innito, derivabilidad,
singularidades, desarrollo en serie de potencias, etc.
Las EEDD de coecientes variables del ultimo listado de ejercicios ser an estudiadas en el 2do
cuatrimestre utilizando un metodo relativamente simple, basado en asumir a priori que la soluci on
admite un desarrollo en serie de potencias.
(5
Con estos apuntes no se pretende que el alumno estudie detalladamente todas estas funciones
sino que aumente su cultura profesional, conociendo a un mejor cu al es la tarea que desempe nan las
funciones especiales y que estas no se reducen a las conocidas exponencial, seno, coseno, etc.
3.10.2 Sobre el metodo basado en el calculo aproximado de las races de
la ecuaci on caracterstica
Para resolver la ecuacion lineal homogenea de coecientes constantes
ay
iv)
+by
iii)
+cy
ii)
+ dy
i)
+ey = 0
aplicamos el comando DSOLVE. Si la respuesta que se obtiene con DSOLVE no es satisfactoria, una
variante poco ortodoxa, que no recomendamos, consiste en tomar el polinomio caracterstico
P = as
4
+bs
3
+cs
2
+ds + e
5
Notar que ninguna de las EEDD del problema (7) del ejercicio 3.3 es del tipo Euler.
46 Clase Practica 3
y calcular aproximadamente sus races mediante el comando SOLVE tal como se muestra a contin-
uaci on
>>format long e % se sugiere formato largo
>>S=numeric(solve(a*x^4+b*x^3+c*x^2+d*x+e))
Finalmente damos como solucion el correspondiente SFS.
Es exacta la respuesta? Obviamente no lo es. En las siguientes lneas se reconsidera el ejemplo
3.9 de la pagina 33, para ilustrar el nivel de ajuste que se obtiene al calcular una soluci on aproximada
y por este metodo.
Lo primero a tener en cuenta es que el criterio que aqu se sigue es el de medir el error en la
ecuaci on: [L[ y][, en lugar del error en la solucion: | y y|.
Tomemos por caso a [L[ y][ en los intervalos [2, 2] y [20, 60].
>>syms t;
>>y1=exp(t*0.6653067648628088)*sin(2.373811784418384*t);
y calculemos Z = L[y
1
].
>>Z=diff(y1,4)-6*diff(y1,3)+9*diff(y1,2)-24*diff(y1,1)-20*y1;
Hagamos
(6
>>subplot(1,2,1);ezplot(Z,[-2,2]),title()
>>subplot(1,2,2);ezplot(Z,[20,60]),title()
para obtener los gr acos que se muestran en la gura 3.2.
Tienen calidad los resultados?
El metodo alternativo a DSOLVE que hemos utilizado es aproximado, y concuerda con nuestros
conocimientos te oricos. Sin embargo, en el ambito experimental los baremos cambian. La calidad
de los resultados obtenidos se mide, en este caso, a partir de la estimacion que hagamos del residuo
[Z[ = [L[ y(t)][ sobre ciertos intervalos. Hemos comprobado que [Z[ es del orden de 10
15
10 = 10
14
cuando y est a dada por
y(t) = e
t
sen( t), 2 t 2
siendo
= 0.6653067648628088, y = 2.373811784418384.
Podemos aceptar que Z = 0 en [2, 2]?
La respuesta podra ser armativa si tenemos en cuenta que los c alculos MATLAB se hacen con
una precision nita.
(7
Parece correcto aceptar que los errores experimentales son nulos cuando estos
son < eps 2.22e 016, y este no es el caso que nos ocupa.
(8
Pero acaso 10
14
no es sucientemente peque no? Podemos aceptar como SFS al obtenido por
el metodo descrito anteriormente?
6
Agregando title() evitamos que en el ttulo de la graca aparezcan cadenas interminables de caracteres.
7
Se llama precision al n umero de dgitos que forman la mantisa.
8
Por eps se representa al epsilon de maquina, es decir, el n umero positivo mas peque no, representable internamente,
tal que 1 + eps > 1. Hacer >> eps para obtener su valor con 16 dgitos.
Clase Practica 3 47
Fig. 3.2: Gracas de Z = y
iv)
1
6y
iii)
1
+ 9y
ii)
1
24y
i)
1
20y
1
en [2, 2] y [20, 60]
En principio la respuesta a la primera pregunta es armativa. Podemos aceptar un resultado
aproximado siempre que tengamos una medida de la calidad de dicha aproximacion y que esta, a su
vez, se corresponda con la tolerancia de nuestros instrumentos. En este caso tendremos presente que
no tenemos informacion acerca del error en la soluci on
| y y|,
y que nuestra conclusi on dependera del intervalo considerado.
La respuesta a la segunda pregunta es negativa, y es que en realidad hemos avanzado muy poco
pues la soluci on general de la ED es de la forma
(9
y
G
= C
1
e

3
t
cos( t) + C
2
e

3
t
sen( t) + C
3
e

1
t
+C
4
e

2
t
, (3.2)
de modo que las constantes C
1
, ..., C
4
pueden modicar sustancialmente la escala y por ello podra
ser a un m as difcil aceptar que el residuo relativo a y
G
sea cero.
A pesar de lo anterior, el criterio basado en medir directamente las discrepancias en la ecuaci on
es una estrategia universalmente aceptada. El llamado metodo de los residuos (ponderados)
(10
consiste en aceptar como soluci on aquella que anula al residuo en un sentido mas debil que el aqu
utilizado.
9
Un serio inconveniente es que la funcion y
G
depende no linealmente de los parametros
1
,...,
3
, y .
10
Estan dise nados para resolver problemas de contorno (Tema 7). Ver 20.3 de [5]
48 Clase Practica 3
Para terminar de momento esta discusi on, reiteremos que es posible para EEDD lineales y ho-
mogeneas de orden cuatro o menor, calcular exactamente las races del polinomio caracterstico
utilizando SOLVE sin aplicar NUMERIC, solo que la expresion literal de dichas races puede ser
un STRING con demasiados caracteres. En cualquier caso, las ventajas que se derivan del trabajo
con objetos simb olicos no parecen ser concluyentes, al menos con este enfoque. Para resolver este y
muchos otros problemas nos apuntamos al uso de los metodos numericos tradicionales cuyo estudio
ser a abordado en las clases practicas 5, 6 y 7.
CLASE PR

ACTICA 4
Transformada de Laplace
OBJETIVOS
Ejercitar el uso combinado de tecnicas matematicas y herramientas simbolicas del MATLAB para
la resolucion, mediante la transformada de Laplace, de problemas de valores iniciales asociados a
sistemas diferenciales lineales y ecuaciones lineales de orden superior.
4.1 DEFINICI

ON Y C

ALCULO
4.1.1 Denici on de la transformada de Laplace
La transformada de Laplace de una funcion f(t) denida en [0, +) es una nueva funcion que
denotaremos por F(s) o

f(s) o L(f)(s), denida por la integral

f(s) =
_
+
0
e
st
f(t)dt. (4.1)
El dominio de

f(s) esta formado por los valores de s para los cuales la integral (4.1) existe.
Recordar que si g es integrable en cada intervalo [0, b], entonces
_
+
0
g(t)dt = lim
b+
_
b
0
g(t)dt. (4.2)
Decimos que g es integrable Riemann en [0, +] si el lmite de la derecha en (4.2) existe y es nito.
El smbolo de la izquierda recibe el nombre de integral impropia de primera especie.
Si [g[ es integrable Riemann en [0, +] decimos que g es absolutamente integrable. En el resto
de esta clase s olo trabajaremos con funciones f(t) tales que e
st
f(t) es absolutamente integrable.
Atendiendo a los objetivos de la clase, en la siguiente subsecci on abordaremos el c alculo de

f(s)
(y de la transformada inversa) utilizando comandos MATLAB-MAPLE.
49
50 Clase Practica 4
4.1.2 Calculo mediante comandos MATLAB. Ejemplos
Para el c alculo automatizado de (4.1) MATLAB ofrece el comando LAPLACE de tipo simb olico, cuya
sintaxis es
>>F=laplace(f)
donde f es una funci on escalar de la variable simb olica t, previamente declarada y F es una funci on
cuya variable es por defecto s.
Tambien podemos formular
>> syms u v
>>F=laplace(u^2,v)
F = 2/v^3
lo que permite elegir las variables a utilizar.
Ejemplo 4.1 Calcular la transformada de Laplace de la funcion f(t) = 1.
Resolucion del ejemplo 4.1.
>>syms t s
>>laplace(1,t,s)
ans =1/s
Ejemplo 4.2 Calcular la transformada de Laplace de la funcion f(t) = e
at
y f(t) = e
at
sen(bt) .
Resolucion del ejemplo 4.2
>>syms a;
>>laplace(exp(-a*t),t,s)
ans =1/(s+a)
Alternativamente se puede crear la funci on como una cadena de caracteres (string)
>>syms t s
>>f=exp(-a*t)
>>laplace(f,t,s)
ans =1/(s+a)
De esta forma no tenemos que declarar previamente a ning un par ametro como simb olico. Invocando
al n ucleo MAPLE podemos trabajar exclusivamente con STRINGS.
>>maple(f:=t->exp(-a*t)*sin(b*t))
>>F=maple(laplace(f(x),x,s))
F=b/((s+a)^2+b^2)
Clase Practica 4 51
Ejercicio 4.1 Calcular, utilizando MATLAB, la transformada de Laplace de las funciones f(t) = t,
f(t) = t
2
y f(t) = t
3
.
Nota para el ejercicio 4.1 Recordar que para n N la formula general viene dada por la expresi on:

t
n
(s) =
n!
s
n+1
,
y para r > 1, r R, se tiene, a un m as general, que

t
r
(s) =
(r + 1)
s
r+1
,
donde (r) se dene a continuaci on. La funci on Gamma se dene como
(t) =
_
+
0
u
t1
e
u
du, t > 0.
MATLAB posee el comando gamma que permite simular a (t).
Ejemplo 4.3 (a) Comprobar experimentalmente la igualdad (n) = (n 1)!, utilizando el comando
factorial.
(b) Calcular (1/2) y (17/3) por las diferentes vas que se sugieren a continuacion.
Resolucion del ejemplo 4.3.
>>gamma(1/2)
>>maple(gamma(1/2))
>>numeric(maple(gamma(1/2)))
>>int(t^(1/2-1)*exp(-t),0,inf)
Representaci on graca de la funci on (t)
La gura 4.1 sugiere que las rectas t = n, n = 0, 1, 2, 3 son asntotas verticales de la funci on
(t). Verdaderamente, esto es cierto para cualquier recta t = n, n = 0, 1, 2, ....
4.1.3 Propiedades de la Transformada de Laplace
El ejemplo 4.2 anterior se corresponde con la Propiedad de Traslacion:

e
at
f(t)(s) =

f(s a),
que MATLAB aplica automaticamente.
Ejercicio 4.2 Calcular la transformada de Laplace de las funciones f(t) = e
at
cos(bt) y f(t) = e
at
t
4
utilizando recursos MATLAB-MAPLE de modo que no intervengan variables SYM.
52 Clase Practica 4
Fig. 4.1: Representaci on gr aca de (t) en [4, 4]
Ejercicio 4.3 Calcular

f en los siguientes casos y reconocer las propiedades que se han aplicado en
cada caso.
(a) f(t) = t
1/3
(b) f(t) = e
2t
t
5/6
(c) f(t) = g

(t) (d) f(t) = sen(t + a)


(e) f(t) = sen(t 1)u(t 1) (f ) f(t) = t
2
senh(t)
En (c) hacer >>laplace(diff(sym(g(t)))). Notar que esta sintaxis no exige declaracion previa
SYMS.
Aplicar la misma tecnica al apartado (e), es decir,
laplace(sym(Heaviside(t-1)*sin(t-1))),
donde Heaviside(t-a) es el nombre codicado de la funci on de salto unitario u(t a).
4.2 TRANSFORMADA INVERSA DE LAPLACE
El comando ILAPLACE ha sido dise nado para calcular exactamente, cuando ello sea posible, la
transformada inversa de Laplace. La sintaxis es como sigue.
>>ilaplace(expresion_simbolica,s,t)
o simplemente
>>ilaplace(expresion_simbolica)
Notar que ILAPLACE calcula la transformada inversa de Laplace de una expresi on F(s), produciendo
otra expresion f(t).
La versi on MAPLE es la que sigue
>>maple(invlaplace(F(s),s,t))
Clase Practica 4 53
Ejemplo 4.4 Obtener la transformada inversa de la funcion
F(s) =
s + 3
s
2
Resolucion del ejemplo 4.4.
>>syms s
>>F=(s+3)/s^2;
>>ilaplace(F)
ans =3*t+1
Alternativamente con MAPLE
>>maple(invlaplace((s+3)/s^2,s,t))
Ejemplo 4.5 Calcular las transformadas inversas de Laplace de las siguientes funciones:
F(s) =
1
s
3
+ 1
, F(s) =
1
s
4
+ 1
, F(s) =
1
s
5
+ 1
.
Resolucion del ejemplo 4.5.
>>F=1/(s^3+1)
>>ilaplace(F)
ans =
1/3*exp(-t)- 1/3*exp(1/2*t)*cos(1/2*3^(1/2)*t)+1/3*3^(1/2)*exp(1/2*t)*...
sin(1/2*3^(1/2)*t)
Tambien puede utilizarse
>>F=1/(s^4+1)
>>pretty(ilaplace(F))
ans=
1/2*2^(1/2)*(sin(1/2*2^(1/2)*t)*cosh(1/2*2^(1/2)*t)-cos(1/2*2^(1/2)*t)*...
sinh(1/2*2^(1/2)*t))
El caso 1/(s
5
+ 1) MATLAB lo resuelve en el campo complejo, pues factoriza a s
5
+ 1 seg un sus 5
ceros simples y complejos, de modo que todo sale por la va de exponenciales.
>>F=1/(s^5+1)
>>ilaplace(F)
ans=1/5*Sum(exp(1/5*i*pi*(2*k-1))*exp(-exp(1/5*i*pi*(2*k-1))*t),k=1..5)
Nota 4.1 exp(1/5*i*pi*(2*k-1)),k=1..5 son las 5 races complejas del n umero 1
54 Clase Practica 4
4.3 APLICACIONES A LA RESOLUCI

ON DE
PROBLEMAS DE CONDICI

ON INICIAL
Ejemplo 4.6 Resolver el siguiente problema de valor inicial usando transformadas de Laplace.
x

(t) + 3x(t) = 0, x(0) = 1.


Resolucion del ejemplo 4.6.
Se ver a que el comando LAPLACE aplica automaticamente la propiedad

= s x x(0)
>>syms t s lapx
>>diffeqn=diff(x(t),t)+3*x(t) % se introduce la ED
diffeqn=diff(x(t),t)+3*x(t)
>>a=laplace(diffeqn,t,s) % se transforma la ED
a =s*laplace(x(t),t,s)-x(0)+3*laplace(x(t),t,s)
>>a=subs(a,laplace(x(t),t,s),lapx) % por comodidad
a =s*lapx-x(0)+3*lapx
en la expresion transformada se sustituye laplace(x(t),t,s) por lapx
>>lapx=solve(a,lapx) % en a=0 se despeja lapx
lapx =x(0)/(s+3)
>>x=ilaplace(lapx,s,t) %se calcula x mediante
x =x(0)*exp(-3*t)
La transformada inversa
>>sol=subs(x,x(0),1)
en x(t) se sustituye x(0) por 1
sol =exp(-3*t)
Ejemplo 4.7 Resolver el siguiente problema de valor inicial
x

(t) + 3x

(t) + 2x(t) = sen(t),


x(0) = x

(0) = 0.
Resolucion del ejemplo 4.7.
>>syms s t lapx x
>>diffeq=diff(x(t),t$2)+3*diff(x(t),t)+2*x(t)-sin(t);
>>a=laplace(diffeq,t,s)
a =s*(s*laplace(x(t),t,s)-x(0))-D(x)(0)+...
3*s*laplace(x(t),t,s)-3*x(0)+ 2*laplace(x(t),t,s)-1/(s^2+1)
Clase Practica 4 55
>>a=subs(a,laplace(x(t),t,s),lapx)
a=s*(s*lapx-x(0))-D(x)(0)+3*s*lapx-
3*x(0)+2*lapx-1/(s^2+1)
>>lapx=solve(a,lapx)
lapx=(x(0)*s^3+s*x(0)+D(x)(0)*s^2+D(x)(0)+...
3*x(0)*s^2+3*x(0)+1)/(s^4+3*s^2+3*s^3+3*s+2)
>>x=ilaplace(lapx,s,t)
>>x =-exp(-2*t)*x(0)-1/5*exp(-2*t)-
exp(-2*t)*D(x)(0)+2*exp(-t)*x(0)+...
1/2*exp(-t)+exp(-t)*D(x)(0)-
3/10*cos(t)+1/10*sin(t)
>>sol=subs(x,x(0),0);
>>sol=subs(sol,D(x)(0),0)
sol=-1/5*exp(-2*t)+1/2*exp(-t)-3/10*cos(t)+1/10*sin(t)
Ejercicio 4.4 Resolver el siguiente problema de valor inicial
x

(t) 3x

(t) + 2x(t) = 2e
2t
,
x(0) = 1/6, x

(0) = 5/3.
Ejemplo 4.8 Resolver el siguiente sistema
x

= x y
y

= y +x
x(0) = 1,
y(0) = 2
Resolucion del ejemplo 4.8
>> syms s t lapx lapy
% Se introducen las dos ED.
>>diffeq1=diff(x(t),t)+x(t)+y(t);
>>diffeq2=diff(y(t),t)+y(t)-x(t);
A continuacion se transforman las dos ED.
>> a=laplace(diffeq1,t,s)
a =s*laplace(x(t),t,s)-x(0)+laplace(x(t),t,s)+ laplace(y(t),t,s)
>> b=laplace(diffeq2,t,s)
b=s*laplace(y(t),t,s)-y(0)+laplace(y(t),t,s)- laplace(x(t),t,s)
>>a=subs(a,laplace(x(t),t,s),lapx);
>>a=subs(a,laplace(y(t),t,s),lapy)
a=s*lapx-x(0)+lapx+lapy
>>b=subs(b,laplace(x(t),t,s),lapx);
56 Clase Practica 4
>>b=subs(b,laplace(y(t),t,s),lapy)
b=s*lapy-y(0)+lapy-lapx
% En las expresiones a=0 y b=0 se despejan
% las transformadas de x e y: lapx, lapy
>>[lapx,lapy]=solve(a,b,lapx,lapy)
lapx = (s*x(0)-y(0)+x(0))/(s^2+2*s+2)
lapy =(s*y(0)+x(0)+y(0))/(s^2+2*s+2)
% Se obtienen x e y mediante la transformada inversa
>>x=ilaplace(lapx,s,t)
x = exp(-t)*x(0)*cos(t)-exp(-t)*y(0)*sin(t)
>>y=ilaplace(lapy,s,t)
y =exp(-t)*x(0)*sin(t)+exp(-t)*y(0)*cos(t)
% En las expresiones de x e y se sustituyen
las condiciones iniciales
>>x=subs(x,x(0),1);
>>x=subs(x,y(0),-2)
x =exp(-t)*cos(t)+2*exp(-t)*sin(t)
>>y=subs(y,x(0),1);
y =exp(-t)*sin(t)-2*exp(-t)*cos(t)
Ejercicio 4.5 Resolver el siguiente sistema:
x

(t) = x

(t) 2y

(t) + 2y(t),
y

(t) = 3y(t) + x(t),


y(0) = 0, x(0) = 2, x

(0) = 1.
4.4 PROBLEMAS DE VALORES INICIALES CON
DATOS DISCONTINUOS
4.4.1 Funcion escal on unitario (Heaviside)
La funcion de salto unitario
u(t) =
_
_
_
0 t < 0
1 t 0
se representa en notacion MATLAB como Heaviside(t) y es de gran utilidad para representar otras
funciones denidas a tramos.
Veamos c omo se calcula su transformada:
>>syms t s
>>f=Heaviside(t)
Clase Practica 4 57
>>laplace(f,t,s)
ans=1/s
Ejemplo 4.9 Calcular la transformada de la funcion u(t a). Teniendo en cuenta la notacion

a
(f)(t) = f(t a)u(t a), y la terminologa al uso, podemos decir que u(t a) =
a
(1), es decir,
u(t a) es la trasladada paralelamente al eje OX de la funcion f = 1 al punto a.
Resolucion del ejemplo 4.9.
>>syms t s
>>f=Heaviside(t-1);
>>laplace(f,t,s)
ans=exp(-s)/s
Lo anterior es un resultado ya visto en clases, y f acil de obtener.
Es oportuno recordar una importante propiedad vinculada a la funcion escalon unitario.
Propiedad de la traslaci on en t.
Sea F(s) =

f(s) y a > 0. Entonces

f(t a)u(t a)(s) = e


as
F(s), (4.3)
que se transforma en la siguiente igualdad cuando aplicamos en (4.3) la transformada inversa:

e
as
F(s) = f(t a)u(t a).
Ejemplo 4.10 Resolver el siguiente problema de condicion inicial
x

(t) + x(t) = 1 u(t 2),


x(0) = 0.
utilizando las herramientas MATLAB que simulan la transformada de Laplace.
Es posible resolverlo siguiendo los metodos anteriormente vistos?
Resolucion del ejemplo 4.10.
>>syms s t lapx
>>diffeqn=diff(x(t),t)+x(t)-1+Heaviside(t-2)
diffeqn =diff(x(t),t)+x(t)-1+Heaviside(t-2)
>>a=laplace(diffeqn,t,s)
a=s*laplace(x(t),t,s)-x(0)+laplace(x(t),t,s)
-1/s+exp(-2*s)/s
58 Clase Practica 4
>>a=subs(a,laplace(x(t),t,s),lapx)
a=s*lapx-x(0)+lapx-1/s+exp(-2*s)/s
>>lapx=solve(a,lapx)
lapx=(x(0)*s+1-exp(-2*s))/s/(1+s)
>>x=ilaplace(lapx,s,t)
x=x(0)*exp(-t)+1-exp(-t)-Heaviside(t-2)+
Heaviside(t-2)*exp(-t+2)
>>sol=subs(x,x(0),0)
sol=1-exp(-t)-Heaviside(t-2)+Heaviside(t-2)*exp(-t+2)
4.4.2 Representaci on de funciones con discontinuidades de salto nito
Ejemplo 4.11 La corriente I(t) en un circuito RLC esta regida por el problema de valor inicial:
I

(t) + 4I(t) = g(t),


I(0) = I

(0) = 0,
siendo
g(t) =
_
_
_
1 0 < t 1
1 1 < t 2
0 t > 2
Determinar I(t).
Nota 4.2 Observese que la funcion g(t) puede escribirse como g(t) = u(t) 2u(t 1) + u(t 2).
Resolucion del ejemplo 4.11.
>>syms s t a I lapI
>>diffeq=diff(I(t),t$2)+4*I(t)-Heaviside(t)+2*Heaviside(t-1)-Heaviside(t-2);
>>a=laplace(diffeq,t,s)
a=s*(s*laplace(I(t),t,s)-I(0))-D(I)(0)+...
4*laplace(I(t),t,s)-1/s+2*exp(-s)/s-exp(-2*s)/s
>>a=subs(a,laplace(I(t),t,s),lapI)
a=s*(s*lapI-I(0))-D(I)(0)+4*lapI-1/s+... 2*exp(-s)/s-exp(-2*s)/s
>>lapI=solve(a,lapI)
lapI=(s^2*I(0)+D(I)(0)*s+1-2*exp(-s)+exp(-2*s))/s/(s^2+4)
>>I=ilaplace(lapI,s,t)
I=I(0)*cos(2*t)+1/2*D(I)(0)*sin(2*t)+1/4-1/4*cos(2*t)-1/2*Heaviside(t-1)+...
1/2*Heaviside(t-1)*cos(2*t-2)+1/4*Heaviside(t-2)-1/4*Heaviside(t-2)*cos(2*t-4)
>>sol=subs(I,I(0),0) % condicion inicial I(0)=0
>>sol=subs(sol,D(I)(0),0) % condicion inicial I(0)=0
Clase Practica 4 59
sol=1/4-1/4*cos(2*t)-1/2*Heaviside(t-1)+1/2*Heaviside(t-1)*cos(2*t-2)+...
1/4*Heaviside(t-2)-1/4*Heaviside(t-2)*cos(2*t-4)
% fin de la resolucion del ejemplo 4.11
Fig. 4.2: Representaci on gr aca de la entrada g(t) y la salida I(t)
La representacion graca conjunta de la entrada g(t) y la salida I(t), que pueden verse en la
gura 4.2, se obtiene como sigue:
(1
>>maple(g:=t->1-2*Heaviside(t-1)+Heaviside(t-2));
>>maple(I:=t->1/4-1/4*cos(2*t)-1/2*Heaviside(t-1)+...
1/2*Heaviside(t-1)*cos(2*t-2)+1/4*Heaviside(t-2)-...
1/4*Heaviside(t-2)*cos(2*t-4));
>>x=linspace(0,6,500);
>>for k=1:500,a=num2str(x(k));...
h(k)=str2num(maple(strcat(evalf(g(,a,),12))));
j(k)=str2num(maple(strcat(evalf(I(,a,),12))));end
>>plot(x,h,r.);hold on;plot(x,j,r.)
>>axis([0 6 -2 2]);title(funciones g(t) e I(t))
La delta de Dirac
Sea a R. La delta de Dirac (t a), se caracteriza por las dos propiedades siguientes:
(t a) =
_
0 t ,= a
t = a
(4.4)
1
Lo mas sencillo es copiar lo anterior en el Editor-Debugger, borrar los smbolos >> y ejecutar.
60 Clase Practica 4
y
_

f(t)(t a)dt = f(a), (4.5)


para cualquier funcion f(t) que sea continua en un intervalo abierto que contiene a t = a.
Observemos que (t a) no es una funci on en el sentido usual ya que toma el valor en un
punto.
De la propiedad (4.5) se obtiene que

(t a)(s) = e
as
(4.6)
La Delta de Dirac se relaciona con la funcion escalon unitario de la siguiente forma
_
t

(u a)du =
_
0 t < a
1 t a
= u(t a), (4.7)
lo que, formalmente, signica que (t a) = u

(t a).
La delta de Dirac sirve para modelizar fenomenos en los que intervienen entidades fsicas de ndole
electrica o mec anica, cuyas magnitudes alcanzan en poco tiempo valores relativamente grandes. Ello
ocurre cuando se aplica una carga muy pesada concentrada en un punto de una viga, un golpe de
martillo a un sistema masa-resorte, picos de voltaje, etc.
Debido a razones historicas y practicas, la delta de Dirac se presenta tal como acabamos de hacer en
este gui on, pero el alumno puede intentar conciliar las relaciones (4.5-4.7) asumiendo que d
a
(t) =
(t a)dt es la medida de probabilidad concentrada en t = a.
Despues de un perodo oscuro pero exitoso, el uso de (t a) fue rigurosamente justicado en 1944
por Laurent Schwarz, al crear las distribuciones lo que le vali o recibir en 1950 la Medalla Fields.
Sobre este tema se recomienda leer la secci on 7.8 del libro de Nagle-Sa [8], la 7.8 del Nagle-Sa-
Snider [9], o la 7.6 de D. G. Zill [11].
Ejemplo 4.12 Una masa sujeta a un resorte se suelta a partir del reposo 1 m por debajo de la
posicion de equilibrio del sistema resorte-masa, y empieza a vibrar. Despues de segundos la masa
es golpeada por un martillo que ejerce un impulso sobre la masa. El sistema esta regido por el
problema de valor inicial siguiente
x

(t) + 9x(t) = 3(t )


x(0) = 1, x

(0) = 0,
donde x(t) representa el desplazamiento a partir del equilibrio en el instante t. Hallar x(t).
Resolucion del ejemplo 4.12
>>syms s t lapx x % lapx=X
>>diffeq=diff(x(t),t$2)+9*x(t)-3*Dirac(t-pi)
diffeq =diff(x(t),t$2)+9*x(t)-3*Dirac(t-pi)
Clase Practica 4 61
>>a=laplace(diffeq,t,s)
a=s*(s*laplace(x(t),t,s)-x(0))-D(x)(0)+9*laplace(x(t),t,s)-3*exp(-pi*s)
>>a=subs(a,laplace(x(t),t,s),lapx)
a=s*(s*lapx-x(0))-D(x)(0)+9*lapx-3*exp(-pi*s)
>>lapx=solve(a,lapx)
lapx=(s*x(0)+D(x)(0)+3*exp(-pi*s))/(s^2+9)
>>lapx=subs(lapx,x(0),1) % cond. inicial x(0)=1
lapx=(s+D(x)(0)+3*exp(-pi*s))/(s^2+9)
>>lapx=subs(lapx,D(x)(0),0) %cond. inicial x(0)=0
lapx=(s+3*exp(-pi*s))/(s^2+9)
>>x=ilaplace(lapx,s,t)
x=cos(3*t)-Heaviside(t-pi)*sin(3*t)
% fin de la resolucion del ejemplo 4.12
Ejemplo 4.13 Resolver la siguiente ED de coecientes variables, sujeta a ciertas condiciones.
tx

(t) + (t 1)x

(t) x(t) = 0,
x(0) = 5,
lim
t+
x(t) = 0.
Nota 4.3 Esta ED es de 2do orden...pero no se establece condicion alguna sobre x

(0)! En su lugar
se impone una condicion en el innito... Notar que t = 0 es una singularidad (por que?). Quizas
esto ultimo este asociado a esas extra nas condiciones que se imponen a la solucion. Una idea: si
t [, ] con > 0 muy peque no, la ED es casi de orden uno...y para t grande es indudablemente
una ecuacion de orden dos.
Resolucion del ejemplo 4.13
>>syms s t a x
>>diffeq=t*diff(x(t),t$2)+(t-1)*diff(x(t),t)-x(t);
>>a=laplace(diffeq,t,s)
a=-2*s*laplace(x(t),t,s)+2*x(0)-...
s*(laplace(x(t),t,s)+s*diff(laplace(x(t),t,s),s))-...
2*laplace(x(t),t,s)-s*diff(laplace(x(t),t,s),s)
>>X=dsolve(-2*s*X+2*5-s*(X+s*DX)-2*X-s*DX=0, s)
X=5/(s+1)+1/(s+1)/s^2*C1%Ver nota sobre X y x
>>x=ilaplace(X,s,t) x=5*exp(-t)+C1*(t-1+exp(-t))
Nota 4.4 Hemos sido consecuentes con nuestra notacion habitual escribiendo X en lugar de x.
Aunque esto no es esencial a los efectos de la compilacion y el calculo, s facilita la lectura del
codigo. Es un ahorro innecesario de memoria usar la misma variable x para ambos papeles. Notar
que X se crea por asignacion y no por la declaracion SYMS.
62 Clase Practica 4
Finalmente, teniendo en cuenta el comportamiento de x en el punto del innito se sigue que C1 debe
ser cero.
Por lo tanto la soluci on del ejemplo 4.13 es x(t) = 5e
t
.
4.5 TRANSFORMADA DE LAPLACE DE UNA
FUNCI

ON PERI

ODICA
En primer lugar recordamos la expresi on obtenida en clase para calcular la transformada de Laplace
de una funci on periodica f(t) con perodo T.

f(s) =
_
T
0
e
st
f(t)dt
1 e
Ts
.
A continuaci on la escribimos de nuevo utilizando ahora la notaci on MATLAB.
1/(1-exp(-T*s))*(int(exp(-s*t)*f(t),0,T)
Ejemplo 4.14 Obtener la transformada de la funcion f(t), periodica de perodo 2, denida por
f(t) =
_
_
_
20 0 t
20 < t < 2
Resolucion del ejemplo 4.14
>>Lf=1/(1-exp(-2*pi*s))*(int(20*exp(-s*t),0,pi)
-int(20*exp(-s*t),pi,2*pi));
>>Lf=simplify(Lf)
Lf=-20*(exp(-pi*s)-1)/s/(exp(-pi*s)+1)
4.6 LA FUNCI

ON DE TRANSFERENCIA
La funcion de transferencia H(s) de un sistema lineal se dene como la raz on entre la transformada
de Laplace de la salida y(t) y la transformada de Laplace de la entrada g(t), asumiendo que las
condiciones iniciales son nulas. Supongamos que el sistema est a gobernado por la EDL de coecientes
constantes siguiente
ay

+ by

+ cy = g(t), t > 0,
y(0) = y

(0) = 0.
(4.8)
Al aplicar transformadas en ambos miembros de la ecuacion, y reejar las condiciones iniciales
nulas, se obtiene
(as
2
+bs +c)Y (s) = G(s).
Clase Practica 4 63
Luego, obtenemos la siguiente f ormula para H(s) en terminos del polinomio caracterstico de la ED
H(s) =
Y (s)
G(s)
=
1
as
2
+bs +c
de donde, si

h = H, se sigue que
Y (s) =
G(s)
as
2
+bs +c
= G(s)H(s) = g

h. (4.9)
Notar que H(s) no depende de la entrada g(t).
Denamos ahora la llamada funcion de respuesta al impulso como
h(t) = L
1
H(t)
Notar que h(t), al igual que H(s), tampoco depende de la entrada g(t). El alumno esta en capacidad
de deducir de (4.9) que la soluci on y(t) de la ecuaci on (4.8) est a dada por (aplicar teorema de
convolucion)
y(t) =
_
g h
_
(t) (4.10)
Lo anterior signica que h(t) juega el papel de n ucleo resolvente de la ecuaci on (4.8). Se halla de una
vez, y luego, convolucionado con cualquier g(t) de entrada nos produce la respuesta o salida y(t).
Ejercicio 4.6 Mediante calculo directo halle la funcion de transferencia H(s) del sistema. Con la
ayuda del MATLAB encuentre la funcion de respuesta al impulso h(t) de los siguientes PVI, con
condiciones nulas.
(i) y

+ 9y = g(t) (ii) y

9y = g(t)
(iii) y

6y = g(t) (iv) y

+ 2y

15y = g(t)
(v) y

+ 2y

+ 5y = g(t) (vi) y

4y

+ 5y = g(t)
Los resultados que se piden ya sabemos que no dependen de g(t). Usar la formula (4.10) para calcular
la solucion y(t) de (i) cuando g(t) = 4t
2
y de (vi) cuando g(t) = exp(3t). (Para calcular el producto
de convoluci on ver las instrucciones que se dan a continuacion.)
Indicaciones sobre el ejercicio 4.6
El siguiente codigo puede ejecutarse en la lnea de comandos, o puede confeccionarse un programa.
>>syms s t u
>>h=ilaplace(H,s,t);
>>f=subs(h,t,t-u);
>>g=subs(g,t,u);
>>P=f*g;
>>y=int(P,u,0,t)
64 Clase Practica 4
Nota 4.5 Tener en cuenta que
sen(t) =
e
it
e
it
2i
, cos(t) =
e
it
+e
it
2
senh(t) =
e
t
e
t
2
, cosh(t) =
e
t
+ e
t
2
Usar tentativamente el comando SIMPLIFY si fuese necesario
CLASE PR

ACTICA 5
Metodos numericos para PVI (I)
OBJETIVOS
Presentar los metodos numericos de Euler y Euler mejorado para aproximar la soluci on de problemas
de valores iniciales. Resolver problemas concretos, obteniendo soluciones numericas y estimados del
error, mediante el manejo de programas domesticos MATLAB basados en los algoritmos correspon-
dientes.
5.1 FUNCIONES ESPECIALES
En Matematica Aplicada, Fsica e Ingeniera aparecen con frecuencia ED de segundo orden. Entre
ellas destacamos la Ecuacion de Bessel. Esta ED ha sido ampliamente estudiada y sus soluciones,
asi como las de otras EEDD que surgen en las aplicaciones, reciben el nombre de FUNCIONES
ESPECIALES. La ED lineal de segundo orden
x
2
y

+xy

+ (x
2
q
2
)y = 0 (5.1)
donde q es un par ametro jo, se llama ecuaci on de Bessel de orden q y tiene una unica singularidad
regular en x = 0. Aplicando el metodo de Frobenius se obtienen, si 2q / N, las 2 soluciones linealmente
independientes siguientes:
J
q
(x) =

n=0
(1)
n
n!(1 + q +n)
(
x
2
)
2n+q
J
q
(x) =

n=0
(1)
n
n!(1 q +n)
(
x
2
)
2nq
que son las funciones de Bessel de primera especie de ordenes q y q respectivamente.
Las Funciones de Bessel verican diversas relaciones de recurrencia, a saber:
J
q+1
(x) + J
q1
(x) = 2q/xJ
q
(x),
J
q+1
(x) J
q1
(x) = 2J

q
(x).
65
66 Clase Practica 5
Si q Z, entonces J
q
(x) y J
q
(x) son linealmente dependientes. Adem as J
q
(x) = (1)
q
J
q
(x).
Si q = 1/2, 3/2, 5/2, , las funciones de Bessel J
q
se pueden expresar como una combinacion
nita de senos, cosenos y potencias de x; es decir que son funciones elementales. En concreto se
cumple que:
J
1/2
(x) =
_
2
x
_
1/2
sen(x)
y
J
1/2
(x) =
_
2
x
_
1/2
cos(x).
Las Funciones de Bessel J
q
para q N son analticas en 0. Ademas son funciones pares si q es par e
impares si q es impar. A continuacion se representan las funciones de Bessel J
0
, J
1
, J
1/2
y J
3/2
.
5.1.1 Funciones de Bessel
Dentro del grupo de funciones matematicas especializadas que contiene MATLAB se encuentran las
funciones de Bessel de primera clase: besselj(n, x).
A continuaci on se representan la funciones de Bessel J
1
y J
0
.
>>ezplot(0+x*0,[-20,20])
>>hold on; ezplot(besselj(1,x),[-20,20])
>>ezplot(0+x*0,[-10,10])
>>hold on; ezplot(besselj(0,x),[-10,10])
Fig. 5.1: Graca de J
1
Fig. 5.2: Graca de J
0
Funciones de Bessel J
0
y J
1
Se representan conjuntamente en [20, 20] las dos funciones de Bessel J
0
y J
1
. Observese c omo se
alternan los ceros de J
0
y J
1
.
Clase Practica 5 67
>>x=linspace(-20, 20,300);
>>y=besselj(0,x);
>>z=besselj(1,x);
>>plot(x, y,b.,x,z, r-,x,zeros(1,max(size(x))),k)
Funciones de Bessel J
1/2
y J
3/2
Ejecutar en la lnea de comandos el c odigo
>>subplot(2,1,1),ezplot(besselj(3/2,x),[0,100])
>>subplot(2,1,2),ezplot(besselj(1/2,x),[0,100])
Para lograr los efectos que se muestran en la gura 5.4 deben usarse los recursos que ofrece la
propia ventana gr aca.
Fig. 5.3: Gracas superpuestas de J
1
y J
0
Fig. 5.4: Gracas de Bessel J
3/2
y J
1/2
5.2 ESTUDIO DE LAS SOLUCIONES DE UNA ED
Los metodos a utilizar se pueden clasicar como:
(1) Metodos analticos de cuadraturas exactas (Temas 2, 3, 4 y 5).
(2) Metodos cualitativos.
(3) Metodos numericos (Clases Practicas 5, 6 y 7).
Los metodos exactos hasta ahora estudiados tienen grandes limitaciones, pues la mayora de las ED
que se encuentran en las aplicaciones no se pueden resolver de forma exacta, mediante f ormulas
68 Clase Practica 5
implcitas o explcitas.
(1
Para compensar estas limitaciones se introducen los metodos numericos que
son el objeto de esta pr actica.
5.2.1 Metodos numericos de resoluci on de PVI
Consideremos el siguiente PVI
y

= f(x, y), y(x


0
) = y
0
, (5.2)
siendo x
0
[a, b] y f C([a, b] R).
Se asume que f y
f
y
son continuas en un rect angulo que contiene al punto (x
0
, y
0
), de modo que
el problema (5.2) tiene soluci on unica.
Estrategia de los metodos numericos:
Si y(x) es la soluci on exacta del problema (5.2), se trata de obtener valores aproximados y
k
de y en
ciertos puntos x
k
de [a, b].
Se trata de crear una tabla de valores de la variable dependiente y correspondientes a valores
conocidos de la variable independiente x en un intervalo [x
0
, X] [a, b].
El primer paso para obtener una soluci on numerica consiste en determinar una partici on del
subintervalo [x
0
, X], esto es,
x
0
< x
1
< < x
N
= X.
Se supone que los puntos est an distribuidos uniformemente, de modo que
x
k+1
x
k
= h, k = 0, 1, ..., N 1.
Los metodos numericos que estudiaremos permiten determinar los valores y
k
que constituyen una
aproximaci on del valor de la solucion de (5.2) en los puntos x
k
.
Denici on 5.1 El conjunto
y
k

k=0,...N
se llama Solucion Numerica de (5.2) relativa al paso h.
5.2.2 Metodo de Euler o de la tangente
Reconsideremos el problema (5.2). Sabemos que el punto P = (x
0
, y
0
) est a en la curva solucion del
mismo y que la pendiente de la tangente a dicha curva en P es y

(x
0
) = f(x
0
, y
0
).
El metodo de Euler aproxima el valor de la soluci on exacta en x cercano a x
0
usando la ecuaci on
de la tangente en el punto P = (x
0
, y
0
):
y(x) = y
0
+f(x
0
, y
0
)(x x
0
) (5.3)
1
No se pueden resolver de forma exacta porque el catalogo disponible de funciones elementales no alcanza para
obtener una formula cerrada, o porque dicha expresion es muy difcil de encontrar.
Clase Practica 5 69
Si se denotan por y
1
, , y
N
los valores aproximados correspondientes a los valores exactos y(x
1
), , y(x
N
),
entonces, aplicando (5.3) se sigue que dado y
0
se calcula y
1
mediante
y
1
= y
0
+f(x
0
, y
0
)h,
e y
2
mediante
y
2
= y
1
+f(x
1
, y
1
)h,
y asi sucesivamente hasta y
N
y
N
= y
N1
+f(x
N1
, y
N1
)h,
En forma compacta se obtiene el siguiente esquema
y
k+1
= y
k
+hf(x
k
, y
k
), k = 0, , N 1. (5.4)
5.2.3 Otra interpretaci on del metodo de Euler
Integrando ambas partes de la ecuaci on
y

(x) = f(x, y(x))


en el intervalo [x
k
, x
k+1
], obtenemos
y(x
k+1
) y(x
k
) =
_
x
k+1
x
k
y

(x)dx =
_
x
k+1
x
k
f(x, y(x))dx,
y sustituyendo la integral de la derecha por el area de cierto rect angulo Q se obtiene que
y(x
k+1
) y(x
k
) + f(x
k
, y(x
k
))(x
k+1
x
k
).
Si ponemos el paso h = x
k+1
x
k
y sustituimos y(x
k
) por y
k
obtenemos de nuevo el esquema (5.4)
del metodo de Euler.
y
k+1
= y
k
+f(x
k
, y
k
)h, k = 0, , N 1. (5.5)
La f ormula (5.5), llamada ecuaci on en diferencias nitas, permite predecir y
k+1
en terminos del
valor de y
k
. El dato o condici on inicial (CI) es y
0
y desde el marchamos en una direccion haciendo cada
vez una nueva estimaci on sobre la base de predicciones anteriores. Esto ultimo introduce desviaciones
en nuestros sucesivos c alculos, provocando que estos sean m as imprecisos a medida que nos alejamos
del punto inicial x
0
.
La formulaci on (5.5) anterior corresponde al llamado metodo de Euler.

Este resulta ser el m as
sencillo entre los metodos que se establecen mediante diferencias nitas para resolver problemas de
valores iniciales. La simplicidad del metodo de Euler lo hace especialmente adecuado para intro-
ducirnos en el tema numerico-experimental, si bien su utilizacion profesional es nula.
Sea y(x; h) la soluci on aproximada obtenida con paso h, mediante un metodo numerico, por
ejemplo Euler, de un PVI cuya soluci on exacta es y(x).
70 Clase Practica 5
Principio 5.1 Si agregamos mas puntos en la malla (x
k
), para que h sea mas peque no, entonces la
expectativa es que los errores [y(x) y(x; h)[ sean mas peque nos.
(2
Que signica decir que el metodo utilizado converge? (ver el 7.6 de [3])
Denici on 5.2 Si
lim
h0
y(x; h) = y(x),
entonces decimos que el metodo converge.
Lo anterior signica que las soluciones y(x; h) de las ecuaciones en diferencias nitas que caracterizan
al metodo considerado, aproximan a la soluci on exacta y(x) de la ED cuando h 0.
Luego, te oricamente, deberamos obtener mejores respuestas considerando valores cada vez m as
peque nos de h. Desafortunadamente, la aritmetica de precision nita del ordenador no lo permite.
Para h muy peque no los valores y
k
obtenidos podran estar muy lejos del valor exacto y(x
k
).
(3
En general, la velocidad con la que y(x; h) se acerca a la soluci on exacta y(x) se expresa de la
siguiente forma:
y(x) y(x; h) = O(h
p
),
lo que signica que
[y(x) y(x; h)[ M[h[
p
para h peque no y M > 0 dependiendo de x.
Denici on 5.3 Al exponente p de la relacion anterior se le llama orden del metodo.
Nota 5.1 El metodo de Euler es de orden p = 1.
5.2.4 Ejemplos en los que se aplica el metodo de Euler
Ejemplo 5.1 Obtener una solucion aproximada del PVI
y

= y
2
+ 2x x
4
, 0 x 1, con y(0) = 0
En el programa EULER1.m que indicamos a continuacion, se calcula la solucion aproximada del PVI
y

= y
2
+ 2x x
4
, a x b,
con y(a) = y
0
.
Se calcula tambien el error cometido comparando con la solucion exacta del PVI que es y = x
2
.
2
Un principio es un enunciado metalingustico, mediante el cual se establecen expectativas, se resumen resultados,
se sugieren acciones,... Los principios surgen de la experiencia y conforman el criterio experto.
3
Es decir, la mantisa correspondiente a y
k
, podra no tener dgitos signicativos coincidentes con la representacion
de punto otante de y(x
k
).
Clase Practica 5 71
Fig. 5.5: Metodo de Euler Fig. 5.6: Interpretacion del metodo de Euler
Resolucion del ejemplo 5.1
Programa EULER1.m
Datos:
n es el n umero de puntos de la malla,
a, b: extremos del intervalo dominio.
Resultados (salida):
arreglo y = [y(1) y(n)] con los valores aproximados de la soluci on en los puntos
x(k) = a + (k 1) h con k = 1, , n y donde
h = (b a)/(n 1) es el paso.
Error maximo max
k
y(k) y(x(k))
>>clear x y
>>n=20
>>a=0, b=1, y0=0
>>tic % Se comienza a calcular el tiempo de ejecucion
>>x=linspace(a,b,n), y(1)=y0; h=(b-a)/(n-1)
>>fork=1:n-1
>>y(k+1)=y(k)=+h*(y(k)^2+2*x(k)-x(k)^4);
>>end
>>error=max(abs(x.^2-y));
>>toc % Se termina el computo del tiempo de ejecucion
>>y
>>disp(El error maximo es: ), disp(error)
>>xx=linspace(a,b,50);
>>plot(x,y,k*,xx,xx.^2,b-)
72 Clase Practica 5
>>title(Solucion exacta y aproximada de y=y^2+2*x-x^4)
>>gtext(Solucion exacta : --)
>>gtext(Solucion aproximada : *)
Soluci on:
n = 20, a = 0, b = 1, y
0
= 0, h = 5.263157894737e 02
El error m aximo es: 8.093460004977e 02
Los valores aproximados se obtienen en la lnea de comandos seg un se indica a continuaci on.
>>[y(1:10) y(11:20)]
ans = 0 2.4775e-001
0 3.0234e-001
5.5398e-003 3.6218e-001
1.6615e-002 4.2720e-001
3.3218e-002 4.9729e-001
5.5333e-002 5.7235e-001
8.2942e-002 6.5225e-001
1.1602e-001 7.3682e-001
1.5454e-001 8.2584e-001
1.9847e-001 9.1907e-001
Ejemplo 5.2 Obtener en el ejemplo 5.1 las diferentes aproximaciones correspondientes a n = 10,
100, 200 y 400.
Calcular en cada caso el error comparando con la solucion exacta, y relacionar este con el paso h.
Apreciar gracamente los resultados obtenidos.
Resultados del ejemplo 5.2
n paso h Error max
10 0.111111 0.1579
100 0.010101 0.0166
200 0.005025 0.0083
400 0.002506 0.0042
Ejercicio 5.1 Modicar el programa EULER1 para calcular una solucion aproximada del PVI
y

= 2xy
2
, 0 x 1, con y(0) = 1.
Obtener los errores cometidos, comparando con la solucion exacta, considerendo los pasos h
1
= 2
3
y h
2
= 2
5
.
Clase Practica 5 73
Fig. 5.7: Soluciones exactas y aproximadas de los ejemplos 5.1 y 5.2
Fig. 5.8: Soluciones exactas y aproximadas del ejemplo 5.2 para n = 100, 200
A continuaci on se presenta el siguiente c odigo modicado para el metodo de Euler que llamaremos
EULER2.m. para resolver la ecuaci on y

= F(x, y) con la CI y(a) = y


0
, en el intervalo [a, b], en n
puntos
x(k) = a + (k 1)h,
con k = 1, , n y donde el paso es h = (b a)/(n 1).
La funcion F se dene previamente mediante el comando inline. Se obtiene el graco y el vector y
de la soluci on.
El programa EULER2.m es un procedimiento de tipo FUNCTION y uno de sus argumentos es una
funci on que se debe crear previamente.
Una de las aplicaciones m as utiles de los cheros .M se presenta en la denici on de funciones mediante
la directiva FUNCTION cuya sintaxis es
FUNCION PARAMETROS SALIDA=NOMBRE FUNCION(parametros entrada)
El codigo de EULER2.m es el siguiente
74 Clase Practica 5
function y=euler2(F,a,b,y0,n)
h=(b-a)/(n-1)
x=linspace(a,b,n);y(1)=y0;
for k=1:n-1
y(k+1)=y(k)+h*F(x(k),y(k));
end
disp(Solucion de dy/dx=F(x,y), donde),
disp(F es la funcion inline), disp(F)
disp(El numero de puntos es n=), disp(n)
disp(Paso h=), disp(h)
plot(x,y,k)
title(Solucion de la ED dy/dx=F(x,y))
Ejemplo 5.3 Calcular aproximadamente, usando EULER2.m, la solucion de la ED
y

= y + sen(x)
con y(0) = 1, 0 x 1.
Fig. 5.9: Solucion aproximada del ejemplo 5.3
Soluci on del ejemplo 5.3
>>F=inline(y+sin(x))
F=Inline function:
F(x,y) = y+sin(x)
>>y=euler2(F,0,1,1,10)
Clase Practica 5 75
El numero de puntos es n = 10
Paso h = 0.11111111111111
>>y=
1.00000000000000
1.11111111111111
1.24688819329123
1.40991996404094
1.60293270413395
1.82880926720753
2.09061200642747
2.39160998526049
2.73531085875018
3.12549783431139
Nota 5.2 Observese que el programa EULER2 no permite juzgar la calidad de los resultados obtenidos.
Ejercicio 5.2 Aproximar, usando EULER2.m, la solucion de la ED
y

=
1
x
(y +y
2
),
y(1) = 1, 1 x 2
(5.6)
tomando el paso h = 2
2
.
5.2.5 Precisi on de los resultados
Todo calculo aproximado debe tener en cuenta un indicador que permita evaluar la calidad de los
resultados. En nuestro caso se trata de calcular la solucion aproximada de una ED y de poder decidir
sobre la precisi on del resultado.
El error exacto es imposible de conocer, de modo que se trata de obtener una estimacion del mismo.
Si dicha estimaci on se obtiene despues de realizar los c alculos y se basa en la utilizaci on de estos, se
dice que es una estimacion del error a posteriori.
El siguiente programa EULER3 es una versi on m as exible que la anterior, pues permite que el
usuario dena el dato F(x, y), el intervalo y la CI.
Como salida se obtienen los valores aproximados y las gr acas de dos resultados calculados con
diferentes mallas de puntos, lo que permite estimar el error a posteriori si nos basamos en el siguiente
principio: Si d es la distancia entre dos aproximaciones de la solucion exacta de un PVI, entonces d
es una estimacion de la distancia entre una cualquiera y la solucion exacta.
(4
El programa EULER3.m es un procedimiento de tipo FUNCTION y uno de sus argumentos es
una funcion que se debe crear previamente.
4
Se trata de un enunciado obviamente impreciso y aparentemente peligroso. Es frecuente en la practica cuando no
hay otra opcion. Se emplea en los comandos Matlab: ODE45 y ODE32.
76 Clase Practica 5
Resuelve la ecuaci on y

= F(x, y) con la condici on inicial y(a) = y


0
, en el intervalo [a, b], en N puntos
x(k), (k = 1, , N), donde
h = (b a)/(N 1) y N = n, 2n 1.
La funcion F se dene previamente mediante el comando INLINE.
Procedimiento para estimar el error
Se estima a posteriori el error tomando la diferencia m axima entre las soluciones obtenidas con los
pasos
h = (b a)/(n 1) y h1 = h/2 = (b a)/(2n 2).
Salida.
Se ofrece la estimaci on del error a posteriori y los gr acos de ambas aproximaciones numericas.
C odigo de EULER3.M
function [error,x1,y1]=euler3(F,a,b,y0,n)
N=n;
h=(b-a)/(N-1);
x=linspace(a,b,N);
y(1)=y0;
donde y es la soluci on con N = n puntos.
for k=1:N-1
y(k+1)=y(k)+h*F(x(k),y(k));
end
N=2*n-1; h=(b-a)/(N-1)
x1=linspace(a,b,N)
y1(1)=y0
donde y1 es la soluci on con N = 2n 1 puntos.
for k=1:N-1
y1(k+1)=y1(k)+h*F(x1(k),y1(k));
end
for k=1:n
e(k)=abs(y(k)-y1(2*(k-1)+1);
end
error=max(e)
plot(x,y,b,x1,y1,r)
legend(Aprox. con n puntos, Aprox. con 2n-1 puntos)
title(Solucion de la ecuacion dy/dx =F(x,y))
Clase Practica 5 77
Ejemplo 5.4 Obtener, usando EULER3.m, una solucion aproximada de la ED
y

= y
2
+ 2x x
4
, 0 x 1,
con la C.I. y(0) = 0. Estimar el error.
Resolucion del ejemplo 5.4
>>F=inline(y.^2+2.*x-x.^4)
Inline function:
F(x,y) = y.^2+2.*x-x.^4
>>[error,x1,y1]=euler3(F,0,1,0,10)
h =1.111111111111111e-001 h =5.555555555555555e-002
error = 7.285473724418645e-002
Fig. 5.10: Soluciones aproximadas del ejemplo 5.4
Ejercicio 5.3 Sea el PVI siguiente
y

= y
2
, 0 x 1/2, con y(0) = 1. (5.7)
A que tipos conocidos de ecuaciones corresponde la anterior ED?
Por que no es lineal?
Que metodos utilizaras para intentar hallar una solucion exacta?
Usando EULER3 obtener las soluciones aproximadas con N = 2
3
y N = 2
4
1 puntos y
estimar el error cometido.
Calcular el error exacto y compararlo con el error estimado teniendo en cuenta que la solucion
exacta es y = 1/(x 1).
78 Clase Practica 5
5.3 M

ETODO DE EULER MEJORADO


Para dise nar otro metodo numerico mas eciente que el de Euler, utilizaremos una nueva formula de
integraci on numerica de mayor orden de exactitud que la utilizada en el metodo de Euler.
5.3.1 La formula de los trapecios
La formula de los trapecios consiste en sustituir el valor exacto de la integral
_
b
a
f(x)dx,
por el n umero
(b a)
(f(a) + f(b))
2
,
es decir, el area del trapecio cuyos vertices son (a, 0), (a, f(a)), (b, f(b)) y (b, 0).
Con ello se trata de efectuar c alculos mas precisos en la aproximaci on de la integral sobre cada
uno de los subintervalos [x
k
, x
k+1
]
_
x
k+1
x
k
f(x, y(x))dx.
Notar otra vez que el integrando de la expresion anterior tiene dentro de s a la inc ognita y(x) de
nuestro problema.
Fig. 5.11: Regla del trapecio
En resumen y dicho en terminos geometricos, el metodo de Euler consisti o en sustituir el area
bajo la curva de g(x) = f(x, y(x)) por el area de cierto rectangulo, mientras que ahora, en lugar del
Clase Practica 5 79
rect angulo utilizaremos un trapecio para obtener la siguiente expresion
(5
_
x
k+1
x
k
f(x, y(x))dx
h
2
_
f(x
k
, y(x
k
)) + f(x
k+1
, y(x
k+1
))
_
,
donde h = x
k+1
x
k
.
Surge as un metodo de c alculo aproximado cuya formulaci on es la siguiente.
y
k+1
= y
k
+
h
2
_
f(x
k
, y(x
k
)) + f(x
k+1
, y
k+1
)
_
.
Se trata de un metodo implcito ya que la incognita y
k+1
, no aparece despejada en la f ormula. Ademas
se prueba que el error global de discretizaci on E(h) cumple
E(h) = O(h
2
),
y por tanto es de orden p = 2.
5.3.2 Deducci on del metodo de Euler mejorado
El metodo de Euler mejorado se obtiene realmente como el metodo predictor-corrector siguiente
(1) Se predice y
k+1
mediante Euler
y

k+1
= y
k
+hf(x
k
, y
k
).
(2) Se corrige mediante la anterior relacion
y
k+1
= y
k
+
h
2
_
f(x
k
, y
k
) + f(x
k
+h
. .
, y
k
+hf(x
k
, y
k
)
. .
)
_
x
k+1
y

k+1
Resultando denitivamente el algoritmo de Euler mejorado
y
k+1
= y
k
+
h
2
[f(x
k
, y
k
) + f(x
k+1
, y
k
+hf(x
k
, y
k
))] .
5.3.3 Euler versus Euler mejorado
El siguiente programa, EULER M, nos permite comparar entre s los dos metodos estudiados an-
teriormente. El procedimiento consiste en tratar de resolver una ED, cuya soluci on es conocida,
mediante Euler y Euler mejorado. El experimento culmina con la estimacion del error global con
respecto a ambos metodos, y el trazado en pantalla de los respectivos gracos.
5
Ver seccion 3.5 del Nagle Sa y la gura 5.11.
80 Clase Practica 5
Descripcion del programa EULER M
El programa EULER M resuelve la ecuaci on y

= F(x, y) con la C.I. y(a) = y


0
, en el intervalo [a, b],
en n puntos x(k), (k = 1, , n), con el paso h = (b a)/(n 1), utilizando los metodos Euler y
Euler mejorado.
Las funciones F (campo de direcciones) y f (soluci on exacta conocida) se denen previamente me-
diante el comando INLINE.
El programa estima los respectivos errores absolutos y los ofrece como salida, seg un el formato que
m as abajo se explica. Estos errores se obtienen directamente en terminos del m aximo de la distancias
entre cada estimacion y
k
y el valor exacto f(x
k
). Los correspondientes gracos se despliegan en una
misma ventana para facilitar la apreciaci on visual.
C odigo EULER M
function [es,em]=euler_m(F,f,a,b,y0,n)
h=(b-a)/(n-1);
x=linspace(a,b,n);
phi=f(x);
ys(1)=y0;
for k=1:n-1
ys(k+1)=ys(k)+h*F(x(k),ys(k));
end
ym(1)=y0;
for k=1:n-1
ym(k+1)=ym(k)+(h/2)*(F(x(k),ym(k))+F(x(k)+h,ym(k)+h*F(x(k),ym(k))));
end
% Errores absolutos
em=max(abs(ym-phi));
es=max(abs(ys-phi));
plot(x,phi,g*,x,ys,k,x,ym,b)
legend(Solucion exacta,Euler,Euler mejorado)
Ejemplo 5.5 Obtener una solucion aproximada de la ED
y

+y/x y
2
log(x) = 0,
en [1, 3] con la C.I. y(1) = 1, usando los metodos de Euler y de Euler mejorado.
Para el calculo del error, usar que la soluci on exacta es
f(x) = 2/x/(log(x)
2
2),
la cual se puede obtener usando el comando DSOLVE.
>>dsolve(Dy+y/x-y^2*log(x)=0,y(1)=1,x)
ans =-2/x/(log(x)^2-2)
Clase Practica 5 81
Resolucion del ejemplo 5.5
Se resuelve el ejercicio usando EULER M
>>F=inline(-y./x+y.^2.*log(x))
F =Inline function:
F(x,y) = -y./x+y.^2.*log(x)
>>f=inline(-2./x./(log(x).^2-2))
f =Inline function:
f(x) = -2./x./(log(x).^2-2)
>>[es,em]= euler_m(F,f,1,3,1,21)
es =1.4013e-001 em =4.6401e-003
Fig. 5.12: Soluciones exactas y aproximadas del ejemplo 5.5 (n = 21, 41)
Variando el n umero de puntos de la partici on se obtienen los resultados siguientes:
>>[es,em]=euler_m(F,f,1,3,1,41)
es = 7.4861e-002 em = 1.1086e-003
>>[es,em]=euler_m(F,f,1,3,1,81)
es = 3.8867e-002 em = 2.7031e-004
>>[es,em]=euler_m(F,f,1,3,1,101)
es = 3.1342e-002 em = 1.7211e-004
Ejercicio 5.4 Valorar el comportamiento del metodo Euler mejorado comparando este con Euler,
mediante el codigo EULER M, aplicado a los siguientes datos:
(a) F(x, y) = 2y, f(x) = exp(2x), 0 x d,
(b) F(x, y) = y, f(x) = exp(x), 0 x d,
ambos con y(0) = 1, siendo f(x) la solucion exacta en cada caso, considerando
(1) n = 2
4
, d = 1,
82 Clase Practica 5
(2) n = 2
4
, d = 100,
(3) n = 2
7
, d = 100.
Valorar los resultados numericos con el error absoluto, para lo cual el alumno debera utilizar la
plantilla donde aparece una tabla de resultados con las entradas ya organizadas.
Indicaciones para el Ejercicio 5.4. Separar los problemas seg un el apartado al que pertenecen, por
ejemplo
>>Fa=inline(2*y+0*x);
>>fa=inline(exp(2*x));
>>[es,em]=euler_m(Fa,fa,0,1,1,2^4)
% no poner ; al final para producir eco en pantalla,
con lo cual obtenemos directamente y sin pausas los errores generados por el metodo de Euler y
Euler mejorado, es y em respectivamente, para el problema (a) con d = 1 y 2
4
nodos.
Denir Fb y fb y proceder aplicando EULER M.
Las plantillas que el profesor ha entregado en clases deben rellenarse con los resultados para ser
entregadas al nal.
La realizaci on de este tipo de problemas debe permitirnos llegar a conclusiones experimentales y
te oricas, y adem as, ganar experiencia en la aplicaci on de estos metodos.
5.4 OTROS M

ETODOS NUM

ERICOS
Podemos dise nar otros metodos numericos para resolver y

= f(x, y), y(x


0
) = y
0
, calculando aproxi-
madamente la integral
_
x
k+1
x
k
f(x, y(x))dx,
mediante nuevos procedimientos numericos. Seg un sea el orden del error producido por la f ormula
de integraci on que utilicemos, as ser a el orden del metodo numerico que permitir a calcular aproxi-
madamente la solucion del PVI.
5.4.1 Ejemplo de metodo de dos pasos
Para desarrollar ideas haremos la deduccion r apida de un tercer enfoque para resolver un PVI. El
nuevo metodo que veremos se clasica como un metodo de dos pasos, le llamaremos metodo del
punto medio. Al igual que Euler aproximamos el area bajo la curva sustituyendola por el area de un
rect angulo, esta vez a la altura y(x
k
) de la imagen del punto medio x
k
del intervalo [x
k1
, x
k+1
] (ver
gura 5.13).
La formulaci on del metodo del punto medio es la siguiente
y
k+1
= y
k1
+ 2hf(x
k
, y
k
). (5.8)
Clase Practica 5 83
Fig. 5.13: Ilustracion de un metodo de dos pasos
Notar que (5.8) es un metodo explcito porque y
k+1
aparece despejado, y que la estimacion y
k+1
depende de las estimaciones y
k
e y
k1
(dos pasos). Esto ultimo indica que para iniciar el proceso,
tambien debemos conocer de antemano el valor de y
1
. Recordar que y
0
es un dato del propio problema.
No continuaremos tratando este metodo que el alumno interesado puede encontrar en [1].
5.5 CONCLUSIONES
En general podemos postular que
1. El orden de un metodo es un indicador que esta relacionado con el n umero de operaciones
l ogico-aritmeticas que han de ejecutarse para alcanzar una precisi on dada. Es una referencia
vaga ya que en la pr actica experimental inuyen diversos factores en la eciencia de un metodo.
No obstante, permite hacer una primera comparacion entre dos metodos diferentes.
2. No existe un metodo numerico que sea de aplicabilidad universal.
3. Los estimados del error a posteriori, ya contemplados en el programa EULER M, permiten
juzgar acerca de la calidad de los resultados numericos al aplicar un metodo a un problema
concreto cuya solucion exacta es desconocida.
4. El metodo de Euler es un metodo muy simple, que no se utiliza en la pr actica, pero resulta
muy adecuado para introducirnos en el estudio general de los metodos numericos que resuelven
aproximadamente problemas de valor inicial. El metodo de Euler pertenece a una clase de
metodos llamados de un paso, y que en general se caracterizan por la siguiente relacion
recurrente:
y
k+1
= y
k
+(h, x
k
, y
k
).
84 Clase Practica 5
5.6 EJERCICIOS ADICIONALES
Ejercicio 5.5 Utilizar el programa EULER3 para calcular una solucion de
y

=
2x
9
y
2
, 0 x < 3, con y(0) = 1. (5.9)
Detectar una anomala, en este caso la presencia de una singularidad en x = 3, calculando la
soluci on para
n = 20, 100, 500, 1000, 1500, 3000,
y el correspondiente error (que debe crecer con n).
Se sugiere poner punto y coma al nal de la lnea donde se ha invocado EULER3, para evitar el
eco incontrolado en pantalla, y dar unicamente salida al contenido de aquellas variables que deseamos
conocer, por ejemplo
>>[error,x1,y1]=euler3(F,0,3,1,3000);
>>error
error =2.2165e+002
La solucion exacta del problema es y = 9/(9 x
2
).
5.6.1 Aplicaci on: calculo de la elasticidad b(x)
La elasticidad b(x) es un indicador utilizado por los economistas en algunas de sus versiones discretas
para analizar la llamada elasticidad de la demanda y = y(x), como funcion del precio x de un
producto. Este an alisis puede conducir a decisiones arriesgadas como es la de subir los precios con
expectativas de mayores ingresos, a un cuando la demanda disminuye.
Ejercicio 5.6 Utilizar el codigo EULER3 para obtener soluciones aproximadas de
xy

= y b(x), y(1) = 1, (5.10)


en los dominios siguientes
(I) 1 x 2,
(II) 1 x 2 10
2
,
(III) 1 x 2 10
12
,
considerando las elasticidades:
1. b(x) = 0.2,
2. b(x) = sen(x) 1.
Estimar el error global de discretizacion para n = 100 puntos.
Clase Practica 5 85
Ejercicio 5.7 Resuelva la ecuacion (5.10) mediante variables separables y responda con argumentos
a las siguientes preguntas.
1. Es (5.10) una ecuacion diferencial lineal?
2. Inuyen el intervalo y el signo de b(x) en la calidad de la aproximacion numerica?
3. Se justica aplicar un metodo numerico cuando b(x) es constante (apartado 1)?
CLASE PR

ACTICA 6
Metodos numericos para PVI (II)
OBJETIVOS
1. Aplicar los metodos numericos estudiados en la clase pr actica No. 5 a problemas de valores o
condiciones iniciales asociados a ecuaciones y sistemas diferenciales.
2. Profundizar en el estudio de las series de Fourier mediante ejemplos gr acos.
En esta clase el alumno comprobara la importancia que tiene transformar ecuaciones y sistemas
diferenciales de orden superior en sistemas de primer orden. Al igual que la clase anterior, s olo
utilizaremos herramientas gr acas y numericas del sistema MATLAB.
6.1 M

ETODOS PARA RESOLVER PROBLEMAS


ASOCIADOS A SISTEMAS DE EEDD
Para simplicar consideremos un sistema S de dos ecuaciones y dos inc ognitas x = x(t) e y = y(t).
S :
_
_
_
x

= f(t, x, y)
y

= g(t, x, y)
x(t
0
) = x
0
, y(t
0
) = y
0
Notemos que el anterior sistema S puede ser no-lineal. Si los terminos de la derecha no dependiesen
de t diramos que S es un sistema aut onomo.
6.1.1 Metodo de Euler mejorado
Aplicaremos metodos como el de Euler mejorado
(1
para estudiar numericamente la solucion del
sistema S.
No obstante, cualquiera sea el metodo que apliquemos a un sistema de EDs se tiene que:
1
Euler mejorado pertenece a la familia de metodos de Runge-Kutta que mas adelante estudiaremos.
87
88 Clase Practica 6
1. En cada etapa debe ser aplicado el metodo a todas las ecuaciones antes de pasar a la siguiente
etapa. Adem as, el paso h debe ser el mismo para todas las ecuaciones.
2. Otra cuesti on que no podemos pasar por alto es que la solucion numerica de una ecuaci on o
sistema diferencial de orden mayor que uno debe ser primero transformado en un sistema de
orden uno. A este ultimo se le aplica directamente el metodo numerico.
3. Cualquiera de los metodos de diferencias nitas que estudiemos para resolver el PVI escalar
y

= F(x, y), y(x


0
) = y
0
, puede tambien ser aplicado a un sistema diferencial.
A continuaci on recordamos c omo se transforma una ED de orden dos
y

= f(t, y

, y) (6.1)
en un sistema de EEDD de orden uno.
Si hacemos x = y

, entonces y

= x

. Sustituyendo en (6.1) y agregando la nueva ecuaci on y

= x,
originada por el propio cambio, obtenemos el sistema de primer orden
x

= f(t, x, y)
y

= x
De su soluci on (x(t), y(t)) s olo necesitamos la componente y = y(t) que es la soluci on del problema
original. El algoritmo de Euler mejorado aplicado a un sistema diferencial generico S queda formulado
tal como se muestra a continuaci on
Euler mejorado aplicado a un sistema
x
k+1
= x
k
+
h
2
_
f(t
k
, x
k
, y
k
) + f(t

k+1
, x

k+1
, y

k+1
)
_
y
k+1
= y
k
+
h
2
_
g(t
k
, x
k
, y
k
) + g(t

k+1
, x

k+1
, y

k+1
)
_
(6.2)
donde las predicciones para k + 1 est an dadas por
t

k+1
= t
k
+h
x

k+1
= x
k
+hf(t
k
, x
k
, y
k
)
y

k+1
= y
k
+hg(t
k
, x
k
, y
k
)
(6.3)
6.1.2 Sobre los programas S2 EULER y RK CELL
El programa S2 EULER, descargable desde la Web de la asignatura [15], se compone de dos m odulos.
El primero, a modo de interfaz logra que el codigo sea transparente al usuario. El alumno s olo tiene
que saber que datos debe dar como entrada, e interpretar los resultados.
Clase Practica 6 89
Los datos relativos al campo de direcciones o a la entrada opcional de la solucion exacta se entregan
cuando lo solicita el programa, con la sintaxis o notaci on usual, sin encerrar entre apostrofes ni poner
puntos delante de operadores. Esto ultimo es necesario para la ejecuci on pero el propio programa se
encarga de hacerlo autom aticamente.
Como sintaxis se admite una cualquiera de las siguientes:
(2
s2_euler y=s2_euler [t,y]=s2_euler [t,x,y]=s2_euler
El segundo m odulo est a constituido por dos sub-programas situados al nal del codigo. Uno de
ellos, tal como se se nalo anteriormente, se encarga de escribir el punto delante del operador division
\, la multiplicacion *, y la exponenciacion ^. La otra sub-funcion, de mayor interes para el alumno,
permite simular el metodo de Euler mejorado aplicado a un sistema diferencial de dos ecuaciones, y
se corresponde con la formulaci on (6.2-6.3).
Los calculos se realizan atendiendo al paso h dado por el usuario, y para h/2, con la nalidad de
comparar los correspondientes resultados y obtener un estimado del error a posteriori.
Pueden entrarse varios pasos h, de modo que al nal se dispone de una sola vez de los errores
correspondientes.
Los gr acos de las soluciones aproximadas aparecen en pantalla superpuestos y s olo corresponden
al ultimo paso.
El programa RK CELL, que tambien podemos obtener en la Web de la asignatura [15], es una
interfaz de usuario para facilitar el uso de la herramienta ODE45 de MATLAB aplicada a sistemas de
ecuaciones. El dise no de RK CELL se basa en usar objetos CELL para simular funciones vectoriales
de cualquier n umero de dimensiones. El propio programa crea autom aticamente el chero FUNC-
TION correspondiente al campo vectorial, con las caractersticas exigidas por ODE45. Este comando
Matlab ejecuta algoritmos correspondientes a los metodos de Runge-Kutta que estudiaremos en la
clase practica 7.
6.1.3 Ejercicios con indicaciones para ser resueltos
Ejercicio 6.1 Dado el sistema diferencial lineal siguiente
x

= x +y,
y

= x y,
x(0) = 1 +

2,
y(0) = 1,
(6.4)
donde 0 t 1, emplear el programa S2 EULER con los pasos h = 0.05/2
k
, k = 0, 1, 2, 3, 4, para
resolverlo.
Indicaciones para el ejercicio 6.1
Escribir
2
Para mas informacion ejecutar help s2 euler
90 Clase Practica 6
>>s2_euler
y oprimir INTRO.
La solucion exacta del sistema (6.4), que es una entrada opcional, es la siguiente
x(t) = (1 +

2)e
t

2
, y(t) = e
t

2
El problema (6.4) es lineal y homogeneo. El alumno debera intentar resolverlo artesanalmente
mediante los metodos estudiados en clases. Ver la gura 6.1.
Fig. 6.1: Graco producido por S2 EULER al resolver el ejercicio 6.1
Ejercicio 6.2 Resolver numericamente el sistema no lineal:
x

= x
2
+x + 5y
y

= y
2
+ sen(x) + 3x y
x(0) = 0.001,
y(0) = 0.001,
0 t 1.
Obtener una estimacion del error para h = 0.05/2
k
, k = 0, 1, 2, 3, 4.
Indicaciones para el ejercicio 6.2
Escribimos de nuevo
>>s2_euler
oprimimos INTRO e introducimos lo datos del problema para despues obtener los resultados. No
cerramos el graco de salida, cuyo aspecto podemos apreciar anticipadamente en la gura 6.2, para
poder comparar con el que produciremos en el ejercicio 6.3.
Clase Practica 6 91
Fig. 6.2: Graco producido por S2 EULER al resolver el ejercicio 6.2
Ejercicio 6.3 Resolver numericamente el sistema lineal:
x

= x + 5y
y

= 4x y
x(0) = 0.001,
y(0) = 0.001,
0 t 1.
Obtener una estimacion del error para h = 0.05/2
k
, k = 0, 1, 2, 3, 4.
Indicaciones para el ejercicio 6.3
Antes de ejecutar >>s2_euler aplicar HOLD ON para que el graco anterior, del ejercicio 6.2, quede
superpuesto al gr aco del ejercicio 6.3.
A continuacion se muestra como se ha perturbado localmente el problema 6.2 para
transformarle en el problema 6.3
Los problemas planteados en los ejercicios 6.2 y 6.3 estan relacionados entre s. El estudiante debe
apreciar que las ecuaciones diferenciales del ejercicio 6.2 son no lineales, mientras que las del 6.3
son todas lineales. Mostraremos c omo el campo de direcciones del sistema diferencial del ejercicio
6.2 se aproxima localmente mediante su diferencial, y como a partir de este ultimo se producen las
ecuaciones lineales del problema 6.3. Se dice que el sistema del ejercicio 6.3 es una aproximacion
lineal del sistema del ejercicio 6.2. Las expectativas son: que la soluci on de 6.3 sea una aproximaci on
aceptable de la correspondiente a 6.2 en un intervalo [0, ], con > 0 sucientemente peque no,
y que el metodo numerico seleccionado sea mas efectivo resolviendo el problema lineal 6.3, que el
problema no lineal 6.2.
(3
3
La frase sucientemente peque no encierra otro problema cuya solucion no abordaremos en este material.
92 Clase Practica 6
Fig. 6.3: Graco producido por S2 EULER al resolver el ejercicio 6.3
El calculo de los siguientes diferenciales en (0, 0)
D(x
2
+x + 5y)(0, 0) = dx + 5dy
D(y
2
+ sen(x) + 3x y)(0, 0) = 4dx dy
y la conocida f ormula
f(x, y) f(0, 0) + Df(0, 0)(x 0, y 0)
v alida para x e y peque nos, nos muestran que
x
2
+x + 5y x + 5y
y
2
+ sen(x) + 3x y 4x y
Es oportuno se nalar que los valores iniciales x(0) = 0.001, y(0) = 0.001 se han seleccionado inten-
cionadamente peque nos en correspondencia con el proceso anterior.
Ejemplo 6.1 El siguiente PVI, extrado del Boletn 7, consiste de una ED lineal y homogenea de
orden dos con coecientes variables.
y

ty

+ y = 0,
y(0) = 2, y

(0) = 1, t [0, 1],


(6.5)
Indicaciones para el ejemplo 6.1
El PVI (6.5) del ejemplo 6.1, puede ser resuelto mediante el metodo de las series de potencias. Ahora
nos proponemos aplicar el programa S2 EULER al sistema de orden uno que se le asocia, y que el
propio alumno debe calcular directamente.
Clase Practica 6 93
Fig. 6.4: Graco obtenido al resolver el ejemplo 6.1
Como comprobacion de los resultados apreciaremos que la graca de la solucion numerica, obtenida
seg un Euler, es muy similar a la del polinomio
y(t) = 2 +t t
2

t
4
12

t
6
120
, (6.6)
obtenido al truncar la serie de potencias que da la solucion exacta de este problema.
(4
Resolucion del ejemplo 6.1
A continuaci on expondremos el proceso de obtenci on de la soluci on exacta y los gr acos de las
soluciones aproximadas.
Comencemos viendo que la solucion exacta del problema (6.5), expresada en terminos de una
serie de potencias en torno al punto x = 0, es

n=0
a
n
t
n
,
siendo los a
n
denidos por la recurrencia a tres terminos
a
n+2
=
a
n
(n 1)
(n + 2)(n + 1)
, n = 0, 1, 2, ...
donde a
0
= 2 y a
1
= 1, seg un se indica en las condiciones iniciales.
4
Observar que siendo t [0, 1], y atendiendo a la precision deseada, el termino con la potencia t
6
tambien podra
despreciarse en la aproximacion (6.6).
94 Clase Practica 6
Sea P=[a_6,...,a_0], el vector formado por los coecientes a
n
, n = 0, ..., 6, de la suma parcial
que estamos considerando como una aproximaci on de la solucion del problema (6.5)
6

n=0
a
n
t
n
= a
6
t
6
+ +a
1
t + a
0
.
El comando POLYVAL interpreta a P como un polinomio y permite evaluarlo en variables escalares o
vectoriales.
(5
Para comparar los resultados obtenidos mediante series de potencias y el metodo Euler mejorado
aplicado al sistema asociado, ejecutar S2 EULER optando por la salida gr aca y hacer
>>hold on
>>tt=linspace(0,1,50);
>>P=[-1/120, 0, -1/12, 0, -1, 1, 2];
>>yy=polyval(P,tt);
>>plot(tt,yy,+g)
El resultado en pantalla debera ser similar a la gura 6.4.
RESUMEN
Para resolver una ED o un sistema de EEDD de orden mayor que uno, estos deben ser convertidos
previamente en un sistema de orden uno, y aplicarle a este ultimo uno de los metodos estudiados
para el caso escalar.
La serie de potencias que representa a la solucion de un problema con datos analticos, puede
ser simulada numericamente utilizando una suma parcial seleccionada convenientemente, lo que, en
principio, constituye otro metodo para aproximar la soluci on.
6.2 EJERCICIOS ADICIONALES
Ejercicio 6.4 Aproximar los valores de la solucion del PVI
y

+ 2t
2
y

+ 5y = 0,
y(0) = 1, y

(0) = 1, t [0, 2].


en los puntos t = 0.21, 0.95, 1.31, 1.84.
Ejercicio 6.5 Aproximar los valores de la incognita y = y(t)
x

= tx + 5y + t
2
,
y

= 2x + 6y + 4,
x(0) = 0, y(0) = 1, t [0, 1].
en los puntos t = 0.11, 0.23, 0.59, 0.82.
5
El comando POLYVAL es compatible con la arquitectura matricial del MatLab, es decir, admite matrices como
argumento de entrada.
Clase Practica 6 95
Ejercicio 6.6
x

= tx 10y 4t 2t
2
,
y

= x + 6y,
x(0) = 1, y(0) = 1, t [0, 1].
Ejercicio 6.7
y

= x + 6y + 3,
x

= 2x +y,
x(0) = 2, y(0) = 4, t [0, 2].
6.2.1 Indicaciones para resolver los ejercicios (6.4)-(6.7)
Indicaciones para el ejercicio 6.4
Si intentamos resolver el ejercicio 6.4 con DSOLVE obtenemos
>> dsolve(D2y+2*t^2*Dy+5*y=0,y(0)=1,Dy(0)=-1)
Warning: Explicit solution could not be found.
> In C:\MATLABR11\toolbox\symbolic\dsolve.m at line 326
ans =
[ empty sym ]
Abordemos la solucion por la va numerica. Para ello escribimos la EDLH de 2do orden del
ejercicio 6.4 como un sistema de primer orden
x

= 2t
2
x 5y,
y

= x,
x(0) = 1, y(0) = 1,
para aplicar S2 EULER.M o RK CELL.M.
Hagamos
>>[t,y]=s2_euler
porque solo nos interesa almacenar en memoria los valores aproximados de y = y(t), la inc ognita
del problema original. Entrar h = 0.2
Desplegamos el gr aco para contrastarlo con el de la gura 6.5.
Los puntos t donde se nos pide el valor aproximado de la soluci on no est a previsto que coincidan
con los de la red uniforme asociada al paso h escogido, por tanto, debemos interpolar.
Ejecutamos el programa INTERPOLA con la siguiente sintaxis
>>[T1,Y1]=interpola(t,y)
Entramos los puntos donde queremos interpolar seg un se nos indica en la plantilla.
Entrar el vector T1=[t1,...,tm]=[.21 .95 1.31 1.84]
A continuacion aparecen las listas de los puntos interpolados (T
1
, Y
1
) y el gr aco que muestra su
posicion (ver gura 6.5).
La leyenda que aparece en la esquina superior izquierda puede moverse arrastrandola con el cursor.
96 Clase Practica 6
Fig. 6.5: Gracas de S2 EULER.M e INTERPOLA.M. Ejercicio 6.4
Indicaciones para el ejercicio 6.5
Para el ejercicio 6.5 tampoco DSOLVE ofrece respuesta. Es posible que el termino tx de la primera
ecuaci on provoque una complejidad excesiva o no existe, de hecho, una soluci on representable con el
cat alogo de funciones MATLAB.
Nos queda la alternativa de aplicar S2 EULER o RK CELL al sistema anterior. Los resultados
gr acos que se muestran en la gura 6.6 corresponden al metodo RK CELL.
Proceder tal como se hizo en el ejercicio 6.4, empleando el programa INTERPOLA (ver g. 6.6).
Fig. 6.6: RK CELL e INTERPOLA.M aplicados al ejercicio 6.5
Indicaciones para el ejercicio 6.6
Aplicamos S2 EULER con h = 0.001 al ejercicio 6.6, y ejecutamos en la lnea de comandos
Clase Practica 6 97
>>hold on
Podemos comprobar experimentalmente la coincidencia de dos metodos vistos en clases. Si trans-
formamos el sistema del problema 6.6 en una EDL de 2do orden obtenemos
y

(t + 6)y

+ (6t + 10)y = 4t 2t
2
,
y(0) = 1, y

(0) = 5.
La anterior ecuaci on es excesivamente complicada para el n ucleo simbolico de MATLAB. La ecuaci on
homogenea asociada tiene solucion mediante el comando DSOLVE en terminos de la funci on especial
WhittakerM.
(6
Notemos que la ED lineal
y

(t + 6)y

+ (6t + 10)y = 4t 2t
2
,
puede ser resuelta mediante series de potencias aunque su proceso de resoluci on es algo m as com-
plicado que los problemas vistos en clases. Sin embargo, lo aprendido nos sobra para abordar su
soluci on en torno a t = 0. Despues de asumir que y(t) es analtica en x
0
= 0, llegamos a que
y(t) =

n=0
a
n
t
n
donde
Fig. 6.7: Solucion gr aca del ejercicio 6.6
6
Usar mhelp en lugar de help para ver mas detalles sobre esta funcion especial.
98 Clase Practica 6
Fig. 6.8: Soluciones DSOLVE y RK CELL. Ejercicio 6.7
a
0
= 1,
a
1
= 5,
a
2
= 3a
1
5a
0
= 10,
a
3
= (12a
2
9a
1
6a
0
4)/6,
a
4
= (18a
3
8a
2
6a
1
2)/12,

a
n+2
=
6(n + 1)a
n+1
+ (n 10)a
n
6a
n1
(n + 2)(n + 1)
, n = 3, 4, 5, ...
Ahora ejecutamos el programa TRUNCADA.M- que descargamos desde [15]- para calcular las
sumas parciales de la anterior serie de potencias.
Para obtener la suma parcial correspondiente al termino N = 12, procedemos como sigue.
>>t=linspace(0,1,100);
>>yy=truncada(t)
>>hold on
>>plot(t,yy,+)
En la gura 6.7 se comprueba gracamente el nivel de coincidencia entre las dos soluciones aproxi-
madas.
Indicaciones para el ejercicio 6.7
El ejercicio 6.7 tiene soluci on calculable con DSOLVEpero con una expresi on excesivamente extensa.
(7
Los gr acos de las soluciones exactas x(t) e y(t) pueden verse en la gura 6.8 y compararse con
las obtenidas usando S2 EULER o RK CELL.
Para hacer los gr acos se recomienda usar EZPLOT.
7
Con otra version de MATLAB o con otro software el resultado puede variar.
Clase Practica 6 99
>>S=dsolve(Dy=x+6*y+3,Dx=2*x+y,x(0)=2,y(0)=4);
% En S.x y S.y estan las soluciones x(t) e y(t).
>>ezplot(S.x,[0,2])%cambiar el color de la grafica
>>hold on
>>ezplot(S.y,[0,2])
>>title( )% titulo vacio
>>legend(S.x,S.y)
6.3 SERIES DE FOURIER
6.3.1 Programas
Los ejercicios de esta seccion se basan en la utilizacion de los programas SERIE, SERIE1 y SE-
RIE2, todos descargables desde la Web de la asignatura [15].
El programa SERIE nos permite dibujar los gr acos superpuestos de las 6 primeras sumas
parciales de la serie de Fourier trigonometrica de la funcion (6.7) (gura 6.9).
Mediante SERIE1 podemos dibujar los gracos no superpuestos de las 20 primeras sumas par-
ciales de la serie de Fourier trigonometrica de la funcion (6.7) (gura 6.9).
Con SERIE2 podemos visualizar la convergencia de las series de Fourier viendo los gracos sobre
(3, 3), de las primeras 25 sumas parciales de la funci on f(x) = x para < x < .
6.3.2 Ejercicios
Ejercicio 6.8 Dada la funcion
f(x) =
_
1 si x < 0,
1 si 0 x <
(6.7)
representar gracamente la funcion f y las aproximaciones de su serie de Fourier trigonometrica
mediante las primeras sumas parciales.
Indicaciones para resolver el ejercicio 6.8
La serie de Fourier de f viene dada por
4

n=1
sen((2n 1)x)
2n 1
.
Basta ejecutar los programas SERIE y SERIE1.
Ejercicio 6.9 Representar la funcion
f(x) = x en [, ]
y su extension 2-periodica al intervalo [3, 3].
100 Clase Practica 6
Fig. 6.9: Ejercicio 6.8. Sumas parciales
Fig. 6.10: Ejercicio 6.9. Sumas parciales N = 2, 26
Indicaciones para resolver el ejercicio 6.9
La serie de Fourier de f viene dada por
2

n=1
(1)
n+1
sen(nx)
n
.
Usar el programa SERIE2 para realizar esta tarea (ver gura 6.10).
Clase Practica 6 101
6.4 AP

ENDICE
6.4.1 Programa SN EULER
A modo de complemento, el alumno puede utilizar el programa SN EULER para resolver sistemas de
ecuaciones diferenciales con un n umero arbitrario de ecuaciones, utilizando el metodo Euler mejorado.
Este codigo consta de tres partes: la primera es una interfaz de usuario, y las dos restantes son sub-
funciones situadas al nal del script. Una de las sub-funciones es de especial interes para el alumno
pues se corresponde con el procedimiento de Euler mejorado expresado en terminos vectoriales. La
otra subrutina FUNCTION, llamada CEVAL, permite la evaluacion numerica de campos vectoriales
almacenados como objetos CELL.
Este programa puede ser descargado de la Web de la asignatura [15], y se activa directamente en
la lnea de comandos haciendo
>>sn_euler
En caso de que deseemos almacenar en memoria los valores aproximados de las inc ognitas escribi-
mos
>>x=sn_euler;
Si ademas queremos almacenar en la variable t los valores de la red t
0
,...,t
m
, hacemos
>>[x,t]=sn_euler;
La variable x es una matriz con tantas columnas como ecuaciones tiene el sistema. El n umero de
las de x se corresponde con el n umero de puntos t
0
,...,t
m
.
Para visualizar una breve descripcion del programa, en particular lo concerniente a la entrada-
salida, ejecutamos en lnea lo siguiente
>>help sn_euler
Para obtener la respuesta
...................
...................
ENTRADA
Numero de ecuaciones
Componentes del campo vectorial
Intervalo dominio
Condicion inicial
paso de integracion
SALIDA
Error a posteriori
Graficos de las soluciones aproximadas
SALIDAS OPCIONALES
-Para almacenar en memoria la solucion
[x1(1),...x1(m); x2(1),...,x2(m);... ;xn(1)...xn(m)]
escribir
>>x=sn_euler;
102 Clase Practica 6
-Para almacenar en memoria la solucion
[x1(1),...x1(m); x2(1),...,x2(m);... ;xn(1)...xn(m)]
y ademas: [t(1);t(2);....;t(m)]
escribir
>>[x,t]=sn_euler;
6.4.2 Interpolaci on
Sea el PVI:
y

= F(x, y),
y(x
0
) = y
0
.
Una vez calculados los valores aproximados de la soluci on y(x) de un PVI, sean estos
y
k
y(x
k
), k = 1, ..., n
nos puede interesar aproximar el valor de y(t) para t (x
k1
, x
k
).
Seguiremos el procedimiento mas sencillo consistente en interpolar linealmente, es decir unire-
mos los puntos
P
k1
= (x
k1
, y
k1
), P
k
= (x
k
, y
k
)
mediante el segmento de la recta y = mx +b que dichos puntos determinan. El valor aproximado es
mt +b = y

(t) y(t).
Se trata pues, de construir un aproximante poligonal- lineal a tramos- continuo, de una funcion y(x)
que admite derivadas hasta el segundo orden (ver gura 6.11).
Existen otros metodos de interpolacion que aseguran la suavidad del aproximante, pero no los
trataremos en este curso. La gura 6.11 ilustra el proceso de interpolacion mediante poligonales.
Para realizar ecientemente los calculos usaremos el programa INTERPOLA.M -descargable
desde [15]- basado en el comando INTERP1 de MATLAB.
>>Y1=interp1(T,Y,T1);
donde
T = [x(1) x(n)],
Y = [y(1) y(n)],
T1 = [t(1) t(n)],
Y 1 = [m(1) t(1) + b(1) m(n) t(n) + b(n)]
Notar que hasta ahora los metodos de diferencias nitas nos han ofrecido la solucion como un vector
de R
n
, y que seg un el procedimiento basado en interpolaci on estamos hallando una soluci on en la
forma de una funci on que, aunque continua, desafortunadamente no es derivable en todos los puntos.
A continuaci on se muestra el codigo de INTERPOLA.
Clase Practica 6 103
Fig. 6.11: Ilustracion gr aca del metodo de interpolaci on
function interpola
disp(Se exige que x1<x2<...<xn)
disp( )
T=input(Entrar el vector T=[x1,...,xn]=);
disp( )
Y=input(Entrar el vector Y=[y1,...,yn]=);
disp( )
disp(Se exige que x1<=tk<=xn, k=1,...,m)
disp( )
T1=input(Entrar el vector T1=[t1,...,tm]=);
Y1=interp1(T,Y,T1);N=max(size(T1));
for k=1:N
disp( )
disp(sprintf(Y1(t%2.0g,%s%3.3g%s,k,)=,Y1(k),Oprime INTRO)),
pause
end
CLASE PR

ACTICA 7
Metodos numericos para PVI (III)
OBJETIVOS
Adquisici on de conocimientos teorico-experimentales sobre los metodos numericos de resolucion de
problemas de condicion inicial.
Visualizar las soluciones obtenidas mediante separaci on de variables para las ecuaciones del calor y
de ondas.
7.1 M

ETODOS DE RUNGE-KUTTA
7.1.1 Metodos de Taylor
Sea la ED y

= f(x, y), sujeta a la CI y(x


0
) = y
0
.
Los metodos de Euler y Euler mejorado son de ordenes 1 y 2, respectivamente, y solo requieren
evaluaciones de la funci on f(x, y). A continuaci on presentaremos brevemente a los Metodos de Taylor,
antes de pasar a los metodos de Runge-Kutta.
Los llamados metodos de Taylor consiguen ordenes altos para el error con el correspondiente
coste que supone tener que derivar repetidamente la funci on.
Para ello se parte del desarrollo de Taylor de la soluci on y(x) en x
0
y(x
0
+ h) = y(x
0
) + hy

(x
0
) + h
2
/2!y

(x
0
) + + h
n
/n!y
(n)
(x
0
) +O(h
(n+1)
),
y se sustituyen las derivadas hasta el orden n,
y

(x
0
) = f(x
0
, y
0
)
y

(x
0
) = f
x
(x
0
, y
0
) + f
y
(x
0
, y
0
)f(x
0
, y
0
)
=
El metodo de Taylor de orden 1 es el ya conocido metodo de Euler explcito, estudiado en la anterior
clase pr actica, y en el mismo no intervienen derivadas. Los metodos de Taylor de orden n 2, que
no estudiaremos, s involucran a las derivadas de f(x, y).
105
106 Clase Practica 7
Sustituyendo las derivadas de y(x) en x
0
hasta un orden n 3 arbitrario, podemos obtener un
metodo de mayor orden que el de Euler mejorado.
Estos metodos se llaman metodos de Taylor debido al papel jugado por el desarrollo de Taylor
de f(x, y) en su deducci on.
Aunque, tal como se ha mencionado, se pueden te oricamente alcanzar ordenes altos para el error,
estos dependen de que podamos derivar a f(x, y) repetidamente, lo cual en la practica no siempre es
factible, es impracticable con herramientas numericas y muy costoso con simbolicas.
(1
El camino que se sigue para evitar el inconveniente de calcular derivadas de diferentes ordenes,
un proceso en el que ocurren graves problemas numericos, es el dise no de los llamados metodos de
Runge-Kutta. Estos combinan ingeniosamente los valores de f(x, y) para evitar la presencia de las
derivadas en los calculos y al mismo tiempo, producir ordenes similares a los que se obtienen con los
metodos de Taylor.
7.1.2 Metodo de Runge-Kutta de cuarto orden
Hay una variedad de metodos de Runge-Kutta que dieren entre s atendiendo a la forma en que
combinamos los valores de la funci on f(x, y) que dene el PVI.
El que s olo requieran evaluaciones de la funci on f(x, y) es una cualidad que los Runge-Kutta
comparten con Euler y Euler mejorado, pero llegando alcanzar mayores ordenes que estos ultimos.
Los metodos de Runge-Kutta estan considerados entre los mas adecuados para resolver problemas
de valores iniciales. Los de orden n = 2 incluyen entre otros al metodo de Euler mejorado.
El de orden 4 cl asico es una buena elecci on por su precisi on y facil programaci on. El esquema
del metodo clasico de Runge-Kutta de 4to orden es el siguiente:
y
k+1
= y
k
+ (k
1
+ 2k
2
+ 2k
3
+k
4
)/6
donde
k
1
= hf(x
k
, y
k
)
k
2
= hf(x
k
+h/2, y
k
+ k
1
/2)
k
3
= hf(x
k
+h/2, y
k
+ k
2
/2)
k
4
= hf(x
k
+h, y
k
+ k
3
)
7.1.3 Descripcion del programa RUNGEKUTTA
Se trata de un programa domestico que podemos descargar desde la Web de la asignatura [15], con
el cual intentaremos resolver EEDD de primer orden
y

= f(x, y)
con una condicion inicial y(a) = y
0
, x [a, b].
1
La derivacion numerica es un problema mal acondicionado, lo que signica que peque nos errores en los datos
pueden producir grandes errores en los resultados.
Clase Practica 7 107
Tal como indica su nombre, este codigo permite simular un metodo de Runge-Kutta, particular-
mente el clasico de orden 4.
El programa cuenta con una interfaz de usuario desarrollada para facilitar el trabajo, que permite
opcionalmente introducir la soluci on exacta si fuese conocida. En una sola ejecuci on es capaz de
calcular los errores a posteriori para un vector de pasos [h
1
, ..., h
m
].
Tambien muestra los gr acos de las aproximaciones para h
m
y h
m
/2. El error a posteriori lo
calcula como la mayor de las discrepancias entre las soluciones para h y h/2.
Para invocar a RUNGEKUTTA se oprime INTRO despues de escribir en la lnea de comandos
alguna de las siguientes sentencias
>>rungekutta >>Y=rungekutta >>[T,Y]=rungekutta
dependiendo de la informaci on que deseamos almacenar en memoria.
Aqu T representa al vector cuyas componentes ordenadas forman la red de puntos T(k) del
dominio seg un el paso h, e Y es el vector de las correspondientes aproximaciones Y (k) de la soluci on.
En cualquier caso el programa permite opcionalmente ver en la pantalla los valores T(k) e Y (k)
(hasta 50 como m aximo), pero no los almacena en memoria.
7.1.4 Ejercicios
Ejercicio 7.1 Aproximar la solucion del PVI
y

= 1 +y
2
,
y(0) = 0
para x [0, 1], con pasos
h 0.05 0.05/2 0.05/4 0.05/8 0.05/16
utilizando el programa RUNGEKUTTA.
Teniendo en cuenta que la solucion exacta es y = tan(x), calcular el error exacto cometido y
compararlo con el estimado a posteriori.
Ejercicio 7.2 Aproximar la solucion del PVI
2y

= (x y),
y(0) = 1
para x [0, 3], con pasos
h 0.05 0.05/2 0.05/4 0.05/8 0.05/16
utilizando el programa RUNGEKUTTA.
Teniendo en cuenta que la solucion exacta es y = x2+3e
x/2
calcular el error exacto cometido
y compararlo con el estimado a posteriori.
108 Clase Practica 7
Ejercicio 7.3 Aproximar la solucion del PVI
(e
x
+ 1)y

+y(e
x
1) = 0,
y(0) = 3
para x [0, 1], con pasos
h 0.05 0.05/2 0.05/4 0.05/8 0.05/16
utilizando el programa RUNGEKUTTA
Teniendo en cuenta que la solucion exacta es y =
12e
x
(e
x
+ 1)
2
calcular el error exacto cometido y
compararlo con el estimado a posteriori.
7.1.5 Estabilidad de un metodo numerico
Un metodo numerico para resolver una EDO de primer orden, esta dado por una ecuaci on en dife-
rencias nitas (EDF). Decimos que el metodo es estable si su EDF produce una solucion acotada
cuando la soluci on exacta es acotada. Si la soluci on obtenida no es acotada, siendo la exacta acotada,
decimos que el metodo es inestable. S olo analizamos la estabilidad cuando tratamos con EEDD ordi-
narias lineales y

+py = q(x), p R, en las que el termino q(x) no inuye. Los siguientes enunciados
pueden verse en Homan [3], secciones 7.8-7.9.
Los metodos de Euler y Euler mejorado son estables cuando 0 < ph 2.
Runge-Kutta es estable cuando 0 < ph 2.784.
Ejercicio 7.4 Estudiar numericamente la solucion del siguiente problema de valor inicial (Homan
[3], 7.14) aplicando el programa EJE7.4 (Web de la asignatura [15]).
y

= p(y (x + 2)) + 1,
y(0) = 1,
x [0, +).
Considere los valores p = 1000 considerando los intervalos [0, b], b > 0, y los pasos h seg un se
indica en la tabla 7.1.5.
a) Inuyen los valores de p, b y h sobre el error y la estabilidad?
b) Tratar de explicar el papel que desempe na p en los resultados calculando artesanalmente la
solucion de la homogenea asociada.
Seg un se aprecia en la tabla 7.1.5, el tama no de h se selecciona m as peque no para mostrar:
(A-B) c omo cambia la precisi on (p = 1000)
Clase Practica 7 109
b h p Euler RK-2 RK-4 ODE45
A 0.01 1e-03 1000
B 0.01 5e-04 1000
C 0.01 1e-03 -1000
D 1 1e-03 -1000
E 1 5e-03 -1000
Tabla 7.1: Informe de resultados seg un los valores de b, h y p
(D-E) estabilidad condicional (p = 1000)
(Se detectan en los valores numericos del error)
(ODE45 no se afecta pues selecciona automaticamente el paso h)
Los diferentes valores de b revelan:
(C-D) la existencia de dos escalas relevantes para la variable independiente (p = 1000)
(Se detecta gracamente con los cuatro programas)
(En este ejemplo de PVI, el error producido por ODE45 se modica algo con el cambio de intervalo)
Notar que h
B
=
h
A
2
y que h
D
=
h
E
5
.
7.1.6 Descripcion del programa EJE7.4
Tal como sugiere su nombre, este c odigo esta especialmente dise nado para resolver el ejercicio 7.4 de
esta pr actica. Para facilitar el trabajo se cuenta con una interfaz de usuario que permite seleccionar
uno de los dos posibles PVI mediante una ventana-men u, atendiendo a que la ecuaci on que le dene
depende del valor de un par ametro p. El programa se encarga de aplicar los metodos de Euler, Euler
mejorado y Runge-Kutta 4, mostrando al nal los respectivos errores y los gr acos (ver gura 7.1). Se
aplica adicionalmente la herramienta MATLAB ODE45, basada en Runge-Kutta 4 y 5. Esta ultima
adopta como tolerancia de entrada (error maximo permitido), al menor de los errores producidos por
los metodos anteriores.
Los principales objetivos de este experimento consisten en la detecci on experimental de inesta-
bilidad y escalas relevantes en el dominio.
110 Clase Practica 7
Fig. 7.1: Gracas producidas por EJE7.4.M
7.2 PROBLEMAS DE CONTORNO
7.2.1 Planteamiento matematico
Sea el operador diferencial lineal de segundo orden [y] = a(x)y

+ b(x)y

+ c(x)y, siendo a(x) > 0,


para todo x [a, b], y consideremos los operadores lineales de primer orden
B
1
[y](x) =
1
y(x) +
2
y

(x),
B
2
[y](x) =
1
y(x) +
2
y

(x).
Al siguiente problema
[y](x) = f(x), x [a, b],
B
1
[y](a) = 0,
B
2
[y](b) = 0,
(7.1)
Clase Practica 7 111
se le llama problema de contorno con condiciones separadas. El problema de valores propios se
establece como el problema de hallar los tales que
[y] = y,
B
1
[y](a) = 0,
B
2
[y](b) = 0,
(7.2)
admite soluciones no triviales y = y(x).
Sea w(x) el factor de simetrizacion asociado a [y], es decir
L[y] = w(x)[y] = (p(x)y

+ q(x)y,
entoces (7.2) se convierte en el Problema Regular de Sturm-Liouville
L[y](x) + w(x)y = 0,
B
1
[y](a) = 0,
B
2
[y](b) = 0.
(7.3)
7.2.2 Aplicacion: Viga columna
Para calcular las cargas crticas que act uan longitudinalmente sobre una columna empotrada y las
deformaciones correspondientes disponemos del modelo matematico siguiente
y

(x) +

EI
y(x) = 0
y(0) = y(L) = 0,
(7.4)
donde EI es el momento ector y L es la longitud de la viga. En la Web de la asignatura, encon-
tramos el programa PANDEO que utiliza las soluciones del sistema de Sturm-Liouville formado por
y

(x) +

EI
y(x) = 0 y diferentes condiciones homogeneas de frontera, para mostrar gr acamente las
deformaciones (autofunciones) y calcular las cargas que producen deformaci on (autovalores).
Ejemplo 7.1 Ejecutar en la lnea de comandos
>>pandeo
e introducir los datos seg un se soliciten.
7.3 ECUACIONES EN DERIVADAS PARCIALES
7.3.1 Ecuaci on del calor en una barra de longitud nita
Ejemplo 7.2 Representar gracamente la solucion del siguiente problema:
u
t
= 5u
xx
, 0 x 3, t 0,
u(0, t) = u(3, t) = 0,
u(x, 0) = 5 sen(4x) 3 sen(8x) + 2 sen(10x).
(7.5)
112 Clase Practica 7
Fig. 7.2: Graca producida por CALOR.M
Resolucion del ejemplo 7.2
La solucion exacta u(x, t) de (7.5) es
u(x, t) =
5 sen(4x) exp(5(12
2
)
2
t/9) 3 sen(8x) exp(5(24
2
)
2
t/9) + 2 sen(10x) exp(5(30
2
)
2
t/9),
y se ha obtenido aplicando el metodo de separaci on de variables.
El programa CALOR (se descarga en [15]) utiliza la soluci on de (7.5) para hacer los gr acos del
ejemplo 7.2.
Ejemplo 7.3 El ujo de calor a traves de una barra cilndrica de longitud , es solucion de:
u
t
= 2u
xx
; 0 < x < , t > 0,
u(0, t) = u(, t) = 0,
(7.6)
u(x, 0) =
_
x 0 < x /2,
x /2 < x < .
(7.7)
1. Obtener una aproximacion de la solucion (serie (7.8)) en el instante t = 0, en x = /2.
Clase Practica 7 113
2. Comparar la aproximacion con el dato inicial u(x, 0) = f(x)
3. Representar gracamente la temperatura en el instante t = 1.25 en toda la barra.
4. Ver la evolucion de la temperatura en dos instantes de tiempo. Para ello representar la dis-
tribucion de temperaturas para t = 1.25 y t = 2. (Notar el descenso de temperaturas conforme
avanza el tiempo.)
Recursos para resolver el ejemplo 7.3
El metodo de separacion de variables permite obtener la solucion como la suma de la serie
u(x, t) =
4

k=1
(1)
k
exp(2(2k + 1)
2
t) sen((2k + 1)x)
(2k + 1)
2
(7.8)
Usar la funci on TEMP.M para aproximar la temperatura u(x, t) cualquiera sea el instante t y la
posicion x.
>>u=temp(x,t)
El programa F INICIO.M (ver Web de la asignatura [15]) vale para simular el dato inicial f(x).
>>y=f_inicio(x)
Los dos anteriores programas FUNCTION son compatibles con la arquitectura matricial de MAT-
LAB, y sus respectivos codigos se muestran a continuacion.
function u=temp(x,t)
mx=max(size(x));
mt=max(size(t));
k=0:400;n=2*k+1;
for jx=1:mx
for jt=1:mt
u(jx,jt)=sum((-1).^k.*exp(-2*n.^2.*...
t(jt)).*sin(n.*x(jx))./n.^2);
end
end
u=4*u/pi;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=f_inicio(x)
y=x.*(0<x & x<=pi/2)+(pi-x).*(pi/2<x & x<pi);
Ejercicio 7.5 Considerese el problema de conduccion del calor siguiente
T
t
(x, t) 3T
xx
(x, t) = 0, 0 < x < , t > 0,
T(0, t) = T(, t) = 0,
T(x, 0) = sen(x) 7 sen(3x) + sen(5x).
(7.9)
Si el tiempo t se mide en segundos, estime el momento en que la temperatura T se hace maxima en
los primeros 10 segundos, en el punto /6 de la barra.
114 Clase Practica 7
A continuacion se ofrecen indicaciones para seguir un metodo basado en la potencia graca del
Matlab y en nuestra capacidad de apreciaci on. El alumno puede seguir cualquier otro metodo, pero,
en tal caso, debe ofrecer una breve descripcion del mismo.
La solucion exacta de (7.9) puede obtenerse aplicando el metodo de separacion de variables y
viene dada por
T(x, t) = e
3t
sen(x) 7e
27t
sen(3x) + e
75t
sen(5x).
Hacer
>>T=sin(x).*exp(-3*t)-7*sin(3*x).*exp(-27*t)+sin(5*x).*exp(-75*t);
>>x=pi/6;t=linspace(0,10,50);Z=eval(T);plot(t,Z)
Apreciar el punto donde se sospecha se alcanza el m aximo, y hacer de nuevo
>>x=pi/6;t=linspace(a,b,50);Z=eval(T);plot(t,Z)
donde esta vez los valores a y b son aproximaciones por defecto y por exceso, respectivamente, del
punto de maximo.
Repetir el proceso hasta obtener al menos dos dgitos correctos en la aproximaci on, es decir, cuando
(b a)/a < (1e 02)/2.
7.3.2 Ecuaci on de ondas sobre un intervalo acotado
Ejemplo 7.4 Sabiendo que la solucion del siguiente problema
y
tt
= a
2
y
xx
, (a = 20)
y
x
(0, t) = y
x
(, t) = 0, t 0,
y(x, 0) = 1, y
t
(x, 0) = cos(x), 0 x .
(7.10)
es
y(x, t) = 1 +
sen(at) cos(x)
a
,
hacer su graco en R
3
.
Resolucion del ejemplo 7.4
Usaremos el programa ONDA.M. que podemos descargar desde la Web de la asignatura [15] (ver
gura 7.3).
Ejercicio 7.6 El movimiento de una cuerda de longitud nita se rige por la EDP
y
tt
(x, t) = 4y
xx
(x, t)
con las condiciones de frontera
y
x
(0, t) = 0, y(, t) = 0, (t 0)
Clase Practica 7 115
Fig. 7.3: Graca producida por ONDA.M
y las condiciones iniciales
y(x, 0) = 0, y
t
(x, 0) = 2, (0 x ).
Si la unidad de tiempo es el segundo, se pide:
1. Obtener la trayectoria del movimiento del punto de la cuerda cuya coordenada es x = /3,
durante los diez primeros segundos y estimar los valores maximo y mnimo alcanzados por
dicho punto en el perodo.
2. Representar gracamente la posicion de la cuerda pasadas dos horas despues del momento
inicial y calcular el desplazamiento del extremo x = 0 con respecto al nivel y = 0.
Resolucion del ejercicio 7.6
La solucion del ejercicio puede obtenerse aplicando el metodo de separaci on de variables y viene dada
por
y(x, t) =

n=0
8(1)
n
(2n + 1)
2
cos
_
(2n + 1)x
2
_
sen
_
(2n + 1)t
_
. (7.11)
La serie (7.11) converge para todo x, t R.
Un an alisis del resto arroja el siguiente resultado: la suma parcial de 400 sumandos aproxima uni-
116 Clase Practica 7
formemente
2
al valor exacto de la serie con dos dgitos signicativos correctos.
El programa CUERDA se ha dise nado atendiendo al anterior an alisis y permite aproximar hasta con
dos dgitos correctos a la serie (7.11).
A continuaci on se muestra el codigo MatLab del programa CUERDA.M.
Entrada: vectores x y t. Salida: matriz u.
function u=cuerda(x,t)
mx=max(size(x));
mt=max(size(t));
k=0:400;
n=2*k+1;
for jx=1:mx
for jt=1:mt
u(jx,jt)=sum((-1).^k.*cos(n*x(jx)*.5).*...
sin(n*t(jt))./n.^2);
end
end
u=8*u/pi;
Para obtener los gr acos ejecutar:
Primera parte del ejercicio 7.6.
>>t=linspace(0,10,100);
>>u=cuerda(pi/3,t);
>>plot(t,u)
Segunda parte del ejercicio 7.6.
>>x=linspace(0,pi,100);
>>u=cuerda(x,7200);
>>plot(x,u)
Obtener las aproximaciones numericas solicitadas a partir de los gracos, mediante los comandos max
y min o evaluando adecuadamente a CUERDA(x,t).
7.3.3 Herramientas simbolicas para EDP
MATLAB implementa varios comandos para EDP, a traves del n ucleo MAPLE.
>>maple(pdesolve(ecuacion,func(var1,...,varn)))
resuelve la ecuacion en derivadas parciales identicada por ecuacion, para la funci on
f = func(x
1
, ..., x
n
)
2
La precision que se obtiene no depende de x ni de t.
Clase Practica 7 117
Ejemplo 7.5 Intentar resolver las siguientes ecuaciones en derivadas parciales aplicando herramien-
tas simbolicas MAPLE-MATLAB.
a) f
xx
+ 5f
xy
= 3
b) 3g
x
+ 7g
xy
= xy
c) h
tt
h
xx
= 0
d) u
xx
+u
yy
= x + y
2
Resolucion del ejemplo 7.5
En lo que sigue _F1 y _F2 son funciones arbitrarias.
a)
>>maple(pdesolve(diff(f(x,y),x,x)+5*diff(f(x,y),x,y)=3, f(x,y)))
ans = f(x,y) = 3/2*x^2+_F1(y)+_F2(y-5*x)
--------------------------------------
b)
>>maple(pdesolve(3*diff(g(x,y),x)+7*diff(g(x,y),x,y)=x*y,g(x,y)))
ans = g(x,y) = 1/6*x^2*y-7/18*x^2+_F1(y)+exp(-3/7*y)*_F2(x)
--------------------------------------
c)
>>maple(pdesolve(diff(h(t,x),t,t)-diff(h(t,x),x,x)=0,h(t,x)))
ans = h(t,x) = _F1(x+t)+_F2(x-t)
Ejercicio 7.7 Resolver la ecuacion en derivadas parciales del Ejemplo 7.5, apartado d), aplicando
herramientas simbolicas MAPLE-MATLAB.
d) u
xx
+ u
yy
= x +y
2
Emplear la misma sintaxis MAPLE de los ejemplos resueltos 7.5-a), 7.5-b) y 7.5-c).
BIBLIOGRAF

IA Y SITIOS WEB
[1] ATKINSON, K. E., Elementary numerical analysis, J. Wiley and Sons, 1999.
[2] COOMBES, K. R. et al., Dierential equation with MATLAB. John Wiley and Sons,
1999.
[3] HOFFMAN, J. D., Numerical methods for engineers and scientists, McGraw-Hill,
1992.
[4] MALEK-MADANI, R., Advanced Engineering Mathematics with Mathematica and
MATLAB, vol I, Addison-Wesley, 1998.
[5] MARCELL

AN, F., CASAS

US, L. & ZARZO, A., Ecuaciones Diferenciales. Pro-


blemas lineales y aplicaciones, McGraw-Hill, 1990.
[6] MATHEWS J. H. y FINK, K. D., Metodos numericos con MATLAB. Prentice Hall,
2000.
[7] MATLAB, edicion estudiante. Prentice Hall, 1995.
[8] NAGLE, R. Y SAFF,E. Fundamentals of dierential equations. Benjamin Cummings,
1986.
[9] NAGLE, R., SAFF, E. & SNIDER, A. D. Ecuaciones Diferenciales y Problemas
con valores en la frontera. Pearson Educaci on, Mexico, 2001
[10] HANSELMAN, D. y LITTLEFIELD, B., The Student edition of MATLAB: version
5 users guide, Prentice Hall, 1997.
[11] ZILL, D. G. Ecuaciones diferenciales con aplicaciones de modelado, Internat. Thomsom
Editores, 1997.
[12] Web de MATLAB: http://www.mathworks.com/products/matlab/
[13] El rinc on de MATLAB: http://matlab.universas.com/
[14] Wikipedia: http://es.wikipedia.org/wiki/MATLAB
[15] Web de la asignatura: http://webs.uvigo.es/ecuacionesdiferenciales/
119

Potrebbero piacerti anche