Pr‡ctica 7: Resoluci—n NumŽrica de Sistemas de Ecuaciones Diferenciales
En esta pr‡ctica estudiaremos mŽtodos para la aproximaci—n de sistemas de ecuaciones diferenciales, as’ como la aproximaci—n de ecuaciones diferenciales de orden superior.
Un sistema de ecuaciones diferenciales de primer orden tal como
![]()
para
.
Determinar las
funciones
con las
condiciones iniciales dadas
, es el problema b‡sico que se considerar‡ en esta pr‡ctica.
Asimismo una ecuaci—n de mayor orden puede ser sustituida por tal sistema de ecuaciones de primer orden y Žste es un mŽtodo est‡ndar de tratamiento. Como ejemplo m‡s simple, la ecuaci—n de segundo orden
![]()
se convierte en el sistema
![]()
![]()
para las dos funciones
y
. Las condiciones iniciales acompa–antes
,
son sustituidas
por
y
. En estas condiciones se tiene dominado el problema.
De esta manera se dispone de una opci—n para reducir cualquier problema de mayor orden a un sistema de ecuaciones de primer orden.
Centr‡ndonos ahora en la aproximaci—n de
sistemas de ecuaciones diferenciales lineales, el mŽtodo que vamos a utilizar
es un mŽtodo de Runge-Kutta. Este mŽtodo ser‡ igual que el empleado en la
pr‡ctica anterior para la resoluci—n de ecuaciones diferenciales lineales:
![]()

En los sistemas de ecuaciones diferenciales lineales aplicaremos el mŽtodo a cada ecuaci—n del sistema.
As’ hemos implementado el algoritmo para resolver el sistema
![]()
con condiciones iniciales
![]()
y del cual conocemos su soluci—n exacta
![]()
Con este sistema y la soluci—n exacta hemos obtenido esta tabla de resultados:
|
|
|
|
|
|
|
0.000000 |
0.000000 |
0.000000 |
0.000000 |
0.000000 |
|
0.100000 |
0.538255 |
0.319625 |
0.000008 |
0.000005 |
|
0.200000 |
0.968498 |
0.568781 |
0.000015 |
0.000009 |
|
0.300000 |
1.310717 |
1.581263 |
0.000019 |
0.000012 |
|
0.400000 |
1.581263 |
0.906320 |
0.000020 |
0.000013 |
|
0.500000 |
1.793505 |
1.014402 |
0.000021 |
0.000012 |
Dado que conocemos la soluci—n exacta
hemos podido
calcular el error.
As’, de esta tabla observamos que el error es muy peque–o con cuatro cifras decimales exactas, es decir, de orden 5. As’ observamos que se trata de una aproximaci—n bastante buena.
Y como ecuaci—n diferencial lineal de orden superior tendremos
![]()
con condiciones iniciales
![]()
Esta ecuaci—n diferencial lineal de orden superior podemos transformarla en un sistema de ecuaciones lineales de manera que
![]()
Con condiciones iniciales
![]()
Y para resolver este sistema usaremos el mŽtodo de Runge-Kutta.
Hemos calculado el error ya que sabemos la soluci—n exacta
La tabla de resultados que hemos obtenido es la siguiente:
|
|
|
|
|
|
|
0.000000 |
-0.400000 |
-0.600000 |
-0.400000 |
0.000000 |
|
0.100000 |
-0.461733 |
-0.631631 |
-0.461733 |
0.000000 |
|
0.200000 |
-0.525559 |
-0.640148 |
-0.525559 |
0.000001 |
|
0.300000 |
-0.588601 |
-0.613663 |
-0.588601 |
0.000001 |
|
0.400000 |
-0.646612 |
-0.536582 |
-0.646612 |
0.000002 |
|
0.500000 |
-0.693566 |
-0.388738 |
-0.693566 |
0.000003 |
|
0.600000 |
-0.721151 |
-0.144380 |
-0.721151 |
0.000003 |
|
0.700000 |
-0.718152 |
0.228997 |
-0.718152 |
0.000004 |
|
0.800000 |
-0.669711 |
0.771991 |
-0.669711 |
0.000005 |
|
0.900000 |
-0.556442 |
0.153478 |
-0.556442 |
0.000005 |
|
1.000000 |
-0.353398 |
0.257876 |
-0.353398 |
0.000005 |
Podemos observar que en este sistema se produce un error peque–o, de orden 6, ya que tenemos cinco cifras decimales exactas en la mayor parte de iteraciones.