Skip to main content

Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Page 1

Edita Editorial Universidad Técnica del Norte Av, 17 de julio 5-21 y Gral. José María Córdova - Campus El Olivo IBARRA – IMBABURA – REPÚBLICA DEL ECUADOR www.utn.edu.ec editorial@utn.edu.ec

Autores Jaime Gustavo Alvarado Sánchez, Profesor Investigador interno; Facultad de Ingeniería en Ciencias Aplicadas - Universidad Técnica del Norte jgalvarado@utn.edu.ec, jaimealvarado2003@gmail.com Edgar Vinicio Lema Cáceres, Profesor Investigador interno; Facultad de Ingeniería en Ciencias Aplicadas Universidad Técnica del Norte evlema@utn.edu.ec, vlcaceres30@yahoo.es Jorge Ricardo Benalcázar Gómez, Profesor Investigador interno; Facultad de Ingeniería en Ciencias Aplicadas - Universidad Técnica del Norte jrbenalcazar@utn.edu.ec, latinyermak@gmail.com Alexis Daniel Alvarado Toro, Investigador externo UISEK (Universidad Internacional SEK) alexis.alvarado@uisek.edu.ec

Dirección de arte y diagramación

Roger F. Mafla, Ing. fernandomafla@yahoo.es Universidad Técnica del Norte, Ecuador © de los textos y fotografías: Sus respectivos autores, 2025 © de esta edición: Editorial: Universidad Técnica del Norte, 2025 1ª. Edición digital: marzo de 2025 / e-ISBN 978-9942-572-27-1 DOI: 10.53358/libfica/AQBZ8778 Impreso en Ecuador / Printed in Ecuador Prohibida la reproducción total o parcial de esta obra sin la previa autorización escrita de la Editorial Universidad Técnica del Norte


PREFACIO Este libro está dirigido a estudiantes de ciencias básicas y futuros ingenieros que buscan una sólida comprensión de los métodos numéricos aplicados a la resolución de ecuaciones diferenciales ordinarias. Las ecuaciones diferenciales son fundamentales en diversas áreas de la ingeniería, desde la mecánica y la termodinámica hasta la electrónica y la bioingeniería, permitiendo modelar fenómenos complejos y predecir comportamientos en sistemas dinámicos. El contenido de este texto ha sido cuidadosamente organizado para ofrecer una introducción clara y accesible a los métodos más utilizados en la solución numérica de ecuaciones diferenciales. El objetivo principal es brindar a los estudiantes las herramientas necesarias para abordar problemas reales en ingeniería utilizando una variedad de técnicas analíticas y computacionales. Este libro se estructura en tres capítulos que cubren los conceptos básicos y avanzados de las ecuaciones diferenciales de primer y segundo orden, incluyendo métodos clásicos como el de Euler y Runge-Kutta, hasta técnicas más complejas como los métodos de estimación-corrección, Milne y Hamming. Cada tema se acompaña de ejemplos aplicados en ingeniería, facilitando la comprensión del material y su conexión con problemas del mundo real. Finalmente, esperamos que este material sirva como una guía práctica para los estudiantes en su formación y que les proporcione una base sólida para aplicar estos métodos en su vida profesional.


CONTENIDO Contenido PREFACIO ...................................................................................................................................................... 5 CAPÍTULO I .................................................................................................................................................. 11 ECUACIONES DIFERENCIALES DE PRIMER ORDEN ............................................................................................ 11 1.1. Ecuaciones diferenciales separables ............................................................................................. 12 1.2. Ecuaciones diferenciales homogéneas .......................................................................................... 14 1.3. Ecuaciones diferenciales exactas................................................................................................... 18 1.4. Ecuaciones diferenciales lineales................................................................................................... 21 1.5. Aplicación de las distintas soluciones en problemas de las ingenierías ........................................ 24 CAPÍTULO II. ................................................................................................................................................ 49 ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR ......................................................................................... 49 2.1 Ecuaciones diferenciales lineales homogéneas de orden n con coeficientes constantes ................... 50 2.2 Ecuaciones diferenciales por el método de los coeficientes indeterminados ..................................... 58 2.3 Ecuaciones diferenciales por el método de variación de parámetros ................................................ 69 2.4 Ecuaciones diferenciales lineales con coeficientes constantes utilizando transformaciones de Laplace 73 2.5 Aplicación de las distintas soluciones en problemas de las ingenierías ................................................ 76 2.5.1 Resorte vibratorios ........................................................................................................................ 76 2.5.2 Circuitos eléctricos......................................................................................................................... 83 CAPÍTULO III ................................................................................................................................................ 89 MÉTODOS NUMÉRICOS MÁS UTILIZADOS EN LA SOLUCIÓN DE ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN ................................................................................................................................................ 89 3.1 Método de Euler ................................................................................................................................. 90 3.2 Método de Heun ................................................................................................................................ 94 3.3 Método de la serie de Taylor de tres términos .................................................................................... 100 3.4 Método de Nystron .............................................................................................................................. 104 3.5 Método de Runge-kutta de tercer orden ............................................................................................. 108 3.6 Método de Runge-kutta de cuarto orden ............................................................................................ 113 3.7 Método de estimación corrección .................................................................................................... 117 3.8 Método de Milne .............................................................................................................................. 122 3.9 Método de Hamming ....................................................................................................................... 127 3.10 Método de Euler para sistemas ................................................................................................... 132 3.11 Método de Runge Kutta de cuarto orden para sistemas............................................................. 136 BIBLIOGRAFÍA ..................................................................................................................................................... 141


FIGURAS Figura 1: Solución particular E.D variables separables ................................................................................. 14 Figura 2: Solución particular E.D. Homogénea ............................................................................................. 18 Figura 3: Solución particular E.D. Exacta ...................................................................................................... 21 Figura 4: Solución particular E.D. lineal ........................................................................................................ 24 Figura 5: Aplicación E.D.- enfriamiento ........................................................................................................ 28 Figura 6: Aplicación E.D.- crecimiento .......................................................................................................... 31 Figura 7: Aplicación E.D.- caída de cuerpos .................................................................................................. 36 Figura 8: Aplicación E.D.- diluciones ............................................................................................................. 40 Figura 9: Aplicación E.D.- circuito eléctrico ................................................................................................... 44 Figura 10: Aplicación E.D.- trayectorias ortogonales .................................................................................... 47 Figura 11: Solución E.D. orden superior homogénea- caso 1 ........................................................................ 52 Figura 12: Solución E.D. orden superior homogénea- caso 2 ........................................................................ 54 Figura 13: Solución E.D. orden superior homogénea- caso 3 ........................................................................ 56 Figura 14: Solución E.D. orden superior homogénea- caso 4 ........................................................................ 58 Figura 15: Solución E.D. orden superior no homogénea- caso 1 ................................................................... 61 Figura 16: Solución E.D. orden superior no homogénea- caso 2 ................................................................... 64 Figura 17: Solución E.D. orden superior no homogénea- caso 3 ................................................................... 66 Figura 18: Solución E.D. orden superior no homogénea- caso 4 ................................................................... 69 Figura 19: Solución E.D. orden superior no homogénea- variación de parámetros...................................... 72 Figura 20: Solución aplicación de E.D. - movimiento vibratorio.................................................................... 83 Figura 21: Solución aplicación E.D. circuitos eléctricos ................................................................................. 87 Figura 22: Solución E.D. aplicando método de Euler..................................................................................... 94 Figura 23: Solución E.D. aplicando método de Heun .................................................................................... 99 Figura 24: Solución E.D. aplicando método de Taylor................................................................................. 104 Figura 25: Solución E.D. aplicando el método de Nystron .......................................................................... 108 Figura 26: Solución E.D. aplicando el método Runge-Kutta de tercer orden .............................................. 112 Figura 27: Solución E.D. aplicando el método de Runge-Kutta de cuarto orden ........................................ 117 Figura 28: Solución E.D. aplicando el método de estimación corrección .................................................... 122 Figura 29: Solución E.D. aplicando el método de Milne .............................................................................. 127 Figura 30: Solución E.D. aplicando el método de Hamming ....................................................................... 131 Figura 31: Solución E.D. aplicando el método de Euler para sistemas........................................................ 135 Figura 32: Solución E.D. aplicando el método de Runge Kutta para sistemas ............................................ 140


TABLAS Tabla 1: Método de Euler en hoja electrónica excel ..................................................................................... 92 Tabla 2: Método de Euler en un programa de Matlab.................................................................................. 94 Tabla 3: Método de Heun en hoja electrónica excel ..................................................................................... 97 Tabla 4: Método de Heun en un programa de Matlab ................................................................................. 99 Tabla 5: Método de Taylor en hoja electrónica excel ................................................................................. 102 Tabla 6: Método de Taylor en un programa de Matlab.............................................................................. 103 Tabla 7: Método de Nystron en hoja electrónica excel ............................................................................... 106 Tabla 8: Método de Nystrom en un programa de Matlab .......................................................................... 107 Tabla 9: Método de Runge- Kutta de tercer orden en hoja electrónica excel ............................................. 110 Tabla 10: Método de Runge Kutta de tercer orden en un programa de Matlab ........................................ 112 Tabla 11: Método de Runge- Kutta de cuarto orden en hoja electrónica excel .......................................... 115 Tabla 12: Método de Runge Kutta de cuarto orden en un programa de Matlab ....................................... 117 Tabla 13: Método de estimación- corrección en hoja electrónica excel ..................................................... 119 Tabla 14: Método de estimación- corrección en un programa de Matlab ................................................. 121 Tabla 15: Método de Milne en hoja electrónica excel ................................................................................ 124 Tabla 16: Método de Milne en un programa de Matlab............................................................................. 126 Tabla 17: Método de Hamming en hoja electrónica excel .......................................................................... 129 Tabla 18: Método de Hamming en hoja electrónica excel .......................................................................... 131 Tabla 19: Método de Euler para sistemas en un programa de Matlab ...................................................... 135 Tabla 20: Método Runge Kutta de cuarto orden para sistemas en Matlab................................................ 140


PROGRAMAS Programa 1:Para graficar soluciones particulares E.D. variables separables ............................................... 13 Programa 2: Para graficar soluciones particulares E.D. homogéneas .......................................................... 16 Programa 3: Para graficar soluciones particulares E.D. exactas ................................................................... 20 Programa 4: Para graficar soluciones particulares E.D. lineales ................................................................... 23 Programa 5: Para graficar aplicación E.D. en enfriamiento .......................................................................... 26 Programa 6: Para graficar aplicación E.D. en crecimiento ............................................................................ 30 Programa 7: Para graficar aplicación E.D. en caída de cuerpos .................................................................... 35 Programa 8: Para graficar la aplicación E.D. en diluciones ........................................................................... 39 Programa 9: Para graficar la aplicación E.D. en circuitos eléctricos ............................................................. 43 Programa 10: Para graficar la aplicación E.D. en trayectorias ortogonales .................................................. 46 Programa 11: Para graficar soluciones particulares E.D. homogéneas-caso 1 ............................................. 51 Programa 12: Para graficar soluciones particulares E.D. homogéneas-caso 2 ............................................. 53 Programa 13: Para graficar soluciones particulares E.D. homogéneas- caso 3 ............................................ 54 Programa 14: Para graficar soluciones particulares E.D. homogéneas-caso 4 ............................................. 56 Programa 15: Para graficar soluciones particulares E.D. no homogéneas-caso 1 ........................................ 60 Programa 16: Para graficar soluciones particulares E.D. no homogéneas-caso 2 ........................................ 63 Programa 17: Para graficar soluciones particulares E.D. no homogéneas-caso 3 ........................................ 65 Programa 18: Para graficar soluciones particulares E.D. no homogéneas- caso 4 ....................................... 68 Programa 19: Para graficar soluciones particulares E.D. no homogénea por variación de parámetros. ..... 72 Programa 20: Para graficar una aplicación E.D – movimiento vibratorio .................................................... 82 Programa 21: Para graficar una aplicación E.D.- circuitos eléctricos............................................................ 86 Programa 22: Para graficar con el Método de Euler..................................................................................... 92 Programa 23: Para graficar con el Método de Heun .................................................................................... 97 Programa 24: Para graficar con el Método de Taylor de tres términos ..................................................... 102 Programa 25: Para graficar con el Método de Nystron .............................................................................. 106 Programa 26: Para graficar con el Método de Runge- Kutta de tercer orden ............................................ 110 Programa 27: Para graficar con el Método de Runge- Kutta de cuarto orden ........................................... 115 Programa 28: Para graficar con el Método de estimación corrección ....................................................... 120 Programa 29: Para graficar con el Método de Milne.................................................................................. 124 Programa 30: Para graficar con el Método de Hamming ........................................................................... 129 Programa 31: Para graficar con el Método de Euler para sistemas ........................................................... 134 Programa 32: Para graficar con el Método de Runge Kutta de cuarto orden ............................................ 138


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

1.1. ECUACIONES DIFERENCIALES SEPARABLES Las ecuaciones diferenciales separables son un tipo específico de ecuaciones diferenciales ordinarias que pueden ser resueltas mediante la técnica de separación de variables. Este enfoque es especialmente útil cuando la ecuación diferencial puede expresarse de tal manera que las variables independientes y dependientes pueden ser "separadas" en lados opuestos de la ecuación. La forma general de una ecuación diferencial separable es: 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

= 𝑔𝑔(𝑥𝑥)ℎ(𝑦𝑦) donde

es la derivada de 𝑦𝑦 sobre 𝑥𝑥, además 𝑔𝑔(𝑥𝑥) y ℎ(𝑦𝑦) son funciones que solo dependen

de 𝑥𝑥 e 𝑦𝑦 respectivamente.

La fundamentación teórica de las ecuaciones diferenciales separables implica entender el proceso de separación de variables y cómo aplicarlo para resolver estas ecuaciones. Aquí hay una explicación más detallada: Ecuación diferencial inicial: 𝑑𝑑𝑑𝑑

La ecuación diferencial separable tiene la forma = 𝑔𝑔(𝑥𝑥)ℎ(𝑦𝑦). El primer paso es 𝑑𝑑𝑑𝑑 reconocer si la ecuación dada se puede expresar de esta manera. Separación de variables:

La idea clave es reorganizar la ecuación de manera que la variable dependiente 𝑦𝑦 este a un lado y la variable independiente 𝑥𝑥 esté en el otro lado. Esto se logra dividiendo ambos lados de la ecuación por ℎ(𝑦𝑦) y multiplicando ambos lados por 𝑑𝑑𝑑𝑑. 1 𝑑𝑑(𝑦𝑦) = 𝑔𝑔(𝑥𝑥)𝑑𝑑(𝑥𝑥). ℎ(𝑦𝑦)

Luego, se integra ambos lados con respecto a sus variables correspondientes. Integración: La integración de

1

ℎ(𝑦𝑦)

𝑑𝑑(𝑦𝑦) con respecto a 𝑦𝑦. Y de 𝑔𝑔(𝑥𝑥)𝑑𝑑(𝑥𝑥) con respecto a 𝑥𝑥 permite

obtener las soluciones generales de ambas integrales. Esto conduce a una ecuación que relaciona 𝑥𝑥 e 𝑦𝑦.

Constante de integración:

Al integrar, se introduce una constante de integración C. Para determinar su valor, se utiliza una condición inicial si está presente en el problema original. Esta condición proporciona un valor específico que satisface la ecuación diferencial. Obtención de la solución particular: Al resolver la ecuación resultante con la condición inicial, se obtiene una solución particular que satisface tanto la ecuación diferencial como la condición inicial dada.

12


en Ingeniería con sus métodos y aplicaciones

Ejemplo ilustrativo Encuentre la solución general de la ecuación diferencial: 𝑑𝑑𝑑𝑑 𝑦𝑦+3 = 𝑑𝑑𝑑𝑑

𝑥𝑥−4

Resolución

Separando para poder integrar 1 1 . 𝑑𝑑𝑑𝑑 = . 𝑑𝑑𝑑𝑑 (𝑦𝑦+3)

(𝑥𝑥−4)

Integrando ambos miembros 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 ∫ 𝑦𝑦+3 = ∫ 𝑥𝑥−4

ln(𝑦𝑦 + 3) = ln(𝑥𝑥 − 4) + 𝑐𝑐

Aplicando la propiedad: 𝑒𝑒 ln (𝑦𝑦+3) = 𝑒𝑒 ln(𝑥𝑥−4)+𝑐𝑐 𝑒𝑒 ln (𝑦𝑦+3) = 𝑒𝑒 ln(𝑥𝑥−4) 𝑒𝑒 𝑐𝑐 𝑦𝑦 + 3 = 𝐶𝐶(𝑥𝑥 − 4)

Despejando obtenemos la solución general

𝑦𝑦 = 𝐶𝐶(𝑥𝑥 − 4) − 3

Asignando valores a la constante C se tienen las siguientes soluciones particulares Si C= 1 Si C = -2

𝑦𝑦 = (𝑥𝑥 − 4) − 3 𝑦𝑦 = −2(𝑥𝑥 − 4) − 3

Se grafican estas soluciones particulares utilizando Matlab Programa 1:Para graficar soluciones particulares E.D. variables separables % Definir el intervalo de x x = linspace(0, 8 , 1000); % Definir la función para diferentes valores de C y1 = 1 * (x - 4) - 3; % C = 1; y2 = -2 * (x - 4) - 3; % C = -2 % Graficar las funciones figure; plot(x, y1, 'r', 'LineWidth', 1); hold on; plot(x, y2, 'g', 'LineWidth', 1); % Añadir etiquetas y leyenda xlabel('x'); ylabel('y'); title(' y = C * (x - 4) - 3'); legend('C = 1', 'C = -2' );

13


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

% Graficar los ejes x e y con colores diferentes plot([0, 8], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [-12, 6], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off; Figura 1: Solución particular E.D variables separables

Fuente: Elaboración propia

1.2. Ecuaciones diferenciales homogéneas Las ecuaciones diferenciales homogéneas son un tipo especial de ecuaciones diferenciales ordinarias en las cuales todos los términos de la ecuación son funciones homogéneas de la misma potencia de las variables independientes y dependientes. Estas ecuaciones desempeñan un papel importante en matemáticas y física, y su resolución implica técnicas específicas. La forma general de una ecuación diferencial homogénea de primer orden es: 𝑦𝑦 𝑑𝑑𝑑𝑑 = 𝐹𝐹 ( ) 𝑥𝑥 𝑑𝑑𝑑𝑑 14


en Ingeniería con sus métodos y aplicaciones

En el caso de una ecuación diferencial homogénea de segundo orden, se puede expresar de la siguiente manera: 𝐹𝐹 (𝑥𝑥, 𝑦𝑦,

𝑑𝑑𝑑𝑑 )=0 𝑑𝑑𝑑𝑑

La fundamentación teórica de las ecuaciones diferenciales homogéneas implica comprender la propiedad de homogeneidad y cómo esta propiedad afecta la forma de la ecuación y su resolución. Aquí se explica en detalle: Homogeneidad: Una función 𝐹𝐹(𝑥𝑥, 𝑦𝑦) es homogénea de grado n si, para cualquier constante c, se cumple que 𝐹𝐹(𝑥𝑥, 𝑦𝑦) = 𝑐𝑐 𝑛𝑛 𝐹𝐹(𝑥𝑥, 𝑦𝑦) . En el contexto de las ecuaciones diferenciales homogéneas, la función F que aparece en la ecuación tiene esta propiedad. Cambio de variable:

Para resolver una ecuación diferencial homogénea de primer orden, se realiza un 𝑦𝑦 Esto convierte la ecuación diferencial en una ecuación cambio de variable 𝑣𝑣 = 𝑥𝑥

separable, ya que 𝑦𝑦 = 𝑣𝑣𝑣𝑣 y

Sustitución y resolución:

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

= 𝑣𝑣 + 𝑥𝑥

𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑

Sustituyendo las expresiones resultantes en la ecuación diferencial original y simplificando, se obtiene una ecuación diferencial ordinaria separable en términos de 𝑣𝑣 y 𝑥𝑥 . Luego, se procede a resolver esta ecuación separable. Constantes arbitrarias:

Al resolver la ecuación diferencial homogénea, pueden aparecer constantes arbitrarias. La determinación de estas constantes generalmente se realiza mediante condiciones iniciales o condiciones de contorno específicas proporcionadas en el problema. Ejemplo ilustrativo Encuentre la solución general de la ecuación diferencial: (𝑥𝑥 2 + 𝑦𝑦 2 ) dx – 2xydy = 0

Resolución:

Una ecuación diferencial homogénea se resuelve haciendo el cambio de variable: 𝒚𝒚 = 𝒖𝒖𝒖𝒖 ; 𝒅𝒅𝒅𝒅 = 𝒖𝒖𝒖𝒖𝒖𝒖 + 𝒙𝒙𝒙𝒙𝒙𝒙 (𝑥𝑥 2 + (𝑢𝑢𝑢𝑢)2 )𝑑𝑑𝑑𝑑 − 2𝑥𝑥(𝑢𝑢𝑢𝑢)(𝑢𝑢𝑢𝑢𝑢𝑢 + 𝑥𝑥𝑥𝑥𝑥𝑥) = 0 Realizando operaciones (𝑥𝑥 2 + 𝑢𝑢2 𝑥𝑥 2 )𝑑𝑑𝑑𝑑 − 2𝑥𝑥 2 𝑢𝑢(𝑢𝑢𝑢𝑢𝑢𝑢 + 𝑥𝑥𝑥𝑥𝑥𝑥) = 0 Eliminando paréntesis 𝑥𝑥 2 𝑑𝑑𝑑𝑑 + 𝑢𝑢2 𝑥𝑥 2 𝑑𝑑𝑑𝑑 − 2𝑥𝑥 2 𝑢𝑢2 𝑑𝑑𝑑𝑑 − 2𝑥𝑥 3 𝑢𝑢𝑢𝑢𝑢𝑢 = 0 Dividiendo para 𝑥𝑥 2 𝑑𝑑𝑑𝑑 + 𝑢𝑢2 𝑑𝑑𝑑𝑑 − 2𝑢𝑢2 𝑑𝑑𝑑𝑑 − 2𝑥𝑥𝑥𝑥𝑥𝑥𝑥𝑥 = 0

15


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Sumando términos semejantes 𝑑𝑑𝑑𝑑 − 𝑢𝑢2 𝑑𝑑𝑑𝑑 − 2𝑥𝑥𝑥𝑥𝑥𝑥𝑥𝑥 = 0

Agrupando y factorizando los términos con dx (1 − 𝑢𝑢2 )𝑑𝑑𝑑𝑑 − 2𝑥𝑥𝑥𝑥𝑥𝑥𝑥𝑥 = 0 Separando la variable (1 − 𝑢𝑢2 )𝑑𝑑𝑑𝑑 = 2𝑥𝑥𝑥𝑥𝑥𝑥𝑥𝑥 𝑑𝑑𝑑𝑑 2𝑢𝑢𝑢𝑢𝑢𝑢 = 2 𝑥𝑥 𝑑𝑑𝑑𝑑 𝑥𝑥 𝑑𝑑𝑑𝑑 𝑥𝑥

(1− 𝑢𝑢 ) 2𝑢𝑢𝑢𝑢𝑢𝑢

− (1− 2) = 0 𝑢𝑢 2𝑢𝑢𝑢𝑢𝑢𝑢

+ ( 2

𝑢𝑢 −1)

=0

Integrando la ecuación diferencial de variables separables, se tiene: 𝑑𝑑𝑑𝑑

2𝑢𝑢𝑢𝑢𝑢𝑢

∫ 𝑥𝑥 + ∫ ( 𝑢𝑢2−1) = 𝐶𝐶

𝑙𝑙𝑙𝑙𝑙𝑙 + ln(𝑢𝑢2 − 1) = 𝐶𝐶

Aplicando las propiedades de los logaritmos 𝑙𝑙𝑙𝑙𝑙𝑙(𝑢𝑢2 − 1) = 𝐶𝐶

Cambiando la notación logarítmica a exponencial 2

𝑒𝑒 𝑙𝑙𝑙𝑙𝑙𝑙(𝑢𝑢 −1) = 𝑒𝑒 𝑐𝑐

𝑥𝑥(𝑢𝑢2 − 1) = 𝑒𝑒 𝑐𝑐

Como 𝑒𝑒 𝑐𝑐 = constante, se obtiene

𝑥𝑥(𝑢𝑢2 − 1) = 𝐶𝐶

Reemplazando 𝑦𝑦 = 𝑢𝑢𝑢𝑢 → 𝑢𝑢 = 𝑦𝑦 2

𝑥𝑥 ( 2 − 1) = 𝐶𝐶

𝑦𝑦 𝑥𝑥

𝑥𝑥

Realizando las operaciones 𝑥𝑥 (

𝑦𝑦 2 − 𝑥𝑥 2 𝑥𝑥 2

) = 𝐶𝐶

𝑥𝑥(𝑦𝑦 2 − 𝑥𝑥 2 ) = 𝐶𝐶𝑥𝑥 2

𝑥𝑥𝑦𝑦 2 − 𝑥𝑥 3 = 𝐶𝐶𝑥𝑥 2

Solución general

Asignando valores a la constante C se tienen las siguientes soluciones particulares Si C= 1 Si C = 2 Si C = 3

𝑥𝑥𝑦𝑦 2 − 𝑥𝑥 3 = 𝑥𝑥 2 𝑥𝑥𝑦𝑦 2 − 𝑥𝑥 3 = 2𝑥𝑥 2 𝑥𝑥𝑦𝑦 2 − 𝑥𝑥 3 = 3𝑥𝑥 2

Se grafican estas soluciones particulares utilizando Matlab Programa 2: Para graficar soluciones particulares E.D. homogéneas % Definir el intervalo de x e y x = linspace(-3, 3, 500); % Intervalo de x y = linspace(-3, 3, 500); % Intervalo de y

16


en Ingeniería con sus métodos y aplicaciones

% Crear una malla de valores de x e y [X, Y] = meshgrid(x, y); % Definir la función implícita para diferentes valores de C Z1 = X.*Y.^2 - X.^3 - 1*X.^2; % C = 1 Z2 = X.*Y.^2 - X.^3 - 2*X.^2; % C = 2 Z3 = X.*Y.^2 - X.^3 - 3*X.^2; % C = 3 % Graficar las curvas de nivel para C = 1, C = 2, y C = 3 figure; hold on; % Graficar los ejes x e y con colores diferentes plot([-3, 3], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [-3, 3], 'k', 'LineWidth', 2); % Eje y en negro % Graficar las curvas de nivel contour(X, Y, Z1, [0 0], 'r', 'LineWidth', 1); % C = 1 en rojo contour(X, Y, Z2, [0 0], 'g', 'LineWidth', 1); % C = 2 en verde contour(X, Y, Z3, [0 0], 'b', 'LineWidth', 1); % C = 3 en azul % Añadir etiquetas y título xlabel('x'); ylabel('y'); title(' x \cdot y^2 - x^3 = C \cdot x^2'); % Añadir leyenda legend('Eje x', 'Eje y', 'C = 1', 'C = 2', 'C = 3'); % Mostrar la cuadrícula grid on; % Mostrar la gráfica axis equal; hold off;

17


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 2: Solución particular E.D. Homogénea

Fuente: Elaboración propia

1.3. Ecuaciones diferenciales exactas Las ecuaciones diferenciales exactas son un tipo especial de ecuaciones diferenciales ordinarias que tienen una propiedad especial: la posibilidad de expresarse como la derivada total de alguna función escalar. La resolución de ecuaciones diferenciales exactas implica utilizar esta propiedad para encontrar la función implícita que satisface la ecuación. Aquí está la fundamentación teórica de las ecuaciones diferenciales exactas. Definición: Una ecuación diferencial de primer orden 𝑀𝑀(𝑥𝑥, 𝑦𝑦)𝑑𝑑𝑑𝑑 + 𝑁𝑁(𝑥𝑥, 𝑦𝑦)𝑑𝑑𝑑𝑑 = 0 se considera 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 = 𝑀𝑀 y = 𝑁𝑁 en 𝐷𝐷. En exacta en una región simplemente conexa 𝑢𝑢(𝑥𝑥, 𝑦𝑦) tal que 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 otras palabras, la ecuación se puede expresar como 𝑑𝑑𝑑𝑑 = 𝑀𝑀𝑀𝑀𝑀𝑀 + 𝑁𝑁𝑁𝑁𝑁𝑁 , donde 𝑢𝑢 es una función potencial. Condición de Exactitud:

La condición de exactitud es que las derivadas parciales cruzadas Si esta condición se cumple, entonces la ecuación es exacta.

𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕

=

𝜕𝜕𝜕𝜕 𝜕𝜕𝜕𝜕

.

Obtención de la Función Potencial: Si la ecuación es exacta, se busca una función 𝑢𝑢(𝑥𝑥, 𝑦𝑦) tal que 18

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

= 𝑀𝑀 y

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

= 𝑁𝑁


en Ingeniería con sus métodos y aplicaciones

Esto se logra integrando 𝑀𝑀 con respecto a 𝑥𝑥 y N con respecto a y. 𝑢𝑢(𝑥𝑥, 𝑦𝑦) = ∫ 𝑀𝑀 𝑑𝑑𝑑𝑑 + 𝑔𝑔(𝑦𝑦) = ∫ 𝑁𝑁 𝑑𝑑𝑑𝑑 + ℎ(𝑥𝑥) donde 𝑔𝑔(𝑦𝑦) y ℎ(𝑥𝑥) son funciones arbitrarias de integración. Condiciones de Integrabilidad:

Para garantizar que la función potencial 𝑢𝑢(𝑥𝑥, 𝑦𝑦) es única, es común imponer condiciones de integrabilidad, como la continuidad de las derivadas parciales de segundo orden. Solución General: La solución general de la ecuación diferencial exacta es 𝑢𝑢(𝑥𝑥, 𝑦𝑦) = 𝐶𝐶, donde 𝐶𝐶 es una constante arbitraria. Esto proporciona una relación implícita que satisface la ecuación original. Despeje de 𝐲𝐲 en términos de 𝐱𝐱:

Para obtener la solución explícita, se puede despejar 𝑦𝑦 en términos de 𝑥𝑥 utilizando la ecuación 𝑢𝑢(𝑥𝑥, 𝑦𝑦) = 𝐶𝐶 Ejemplo ilustrativo

Encuentre la solución general de la ecuación diferencial: (2𝑥𝑥 + 𝑦𝑦)𝑑𝑑𝑑𝑑 + (2𝑦𝑦 + 𝑥𝑥)𝑑𝑑𝑑𝑑 = 0

Resolución: Para que la ecuación diferencial sea exacta debe cumplir la condición: 𝑑𝑑(𝑀𝑀) 𝑑𝑑𝑑𝑑

=

𝑑𝑑(𝑁𝑁) 𝑑𝑑𝑑𝑑

(2𝑥𝑥 + 𝑦𝑦)𝑑𝑑𝑑𝑑 + (2𝑦𝑦 + 𝑥𝑥)𝑑𝑑𝑑𝑑 = 0

Derivando parcialmente 2𝑥𝑥 + 𝑦𝑦 con respecto a ¨y¨ se tiene: 𝑑𝑑

𝑑𝑑𝑑𝑑

(2𝑥𝑥 + 𝑦𝑦) = 0 + 1 = 1

Derivando parcialmente 2𝑦𝑦 + 𝑥𝑥 con respecto a x se tiene: 𝑑𝑑

𝑑𝑑𝑑𝑑

(2𝑦𝑦 + 𝑥𝑥) = 0 + 1 = 1

Como cumple la condición se trata de una ecuación diferencial exacta. Al ser exacta se tiene que encontrar la función 𝑓𝑓(𝑥𝑥, 𝑦𝑦) = 𝐶𝐶 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑

= 2𝑥𝑥 + 𝑦𝑦

𝑑𝑑𝑑𝑑

= 2𝑦𝑦 + 𝑥𝑥 𝑥𝑥 2

𝑓𝑓(𝑥𝑥, 𝑦𝑦) = ∫(2𝑥𝑥 + 𝑦𝑦)𝑑𝑑𝑑𝑑 = 2 ( ) + 𝑦𝑦𝑦𝑦 + 𝑔𝑔(𝑦𝑦) 2

𝑓𝑓(𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 + 𝑥𝑥𝑥𝑥 + 𝑔𝑔(𝑦𝑦)

2

Para encontrar 𝑔𝑔(𝑦𝑦) se deriva la función 𝑓𝑓(𝑥𝑥, 𝑦𝑦) con respecto a 𝑦𝑦 : 𝑑𝑑𝑑𝑑(𝑥𝑥,𝑦𝑦) 𝑑𝑑𝑑𝑑

=

𝑑𝑑

𝑑𝑑𝑑𝑑

(𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑔𝑔(𝑦𝑦))

19


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝑑𝑑𝑑𝑑(𝑥𝑥,𝑦𝑦) 𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑(𝑥𝑥,𝑦𝑦) 𝑑𝑑𝑑𝑑

= 0 + 𝑥𝑥(1) + 𝑔𝑔´(𝑦𝑦) = 𝑥𝑥 + 𝑔𝑔´(𝑦𝑦)

Se iguala las dos derivadas con respecto a 𝑦𝑦

𝑥𝑥 + 𝑔𝑔´(𝑦𝑦) = 2𝑦𝑦 + 𝑥𝑥

∫ 𝑔𝑔´(𝑦𝑦) = ∫ 2𝑦𝑦

𝑔𝑔(𝑦𝑦) = 2(

𝑦𝑦 2

𝑔𝑔(𝑦𝑦) = 𝑦𝑦 2

2

)

Reemplazando 𝑔𝑔(𝑦𝑦) = 𝑦𝑦 2 en 𝑓𝑓(𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑔𝑔(𝑦𝑦) se tiene:

𝑓𝑓(𝑥𝑥, 𝑦𝑦) = 𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑦𝑦 2

Por lo tanto, la función 𝑓𝑓(𝑥𝑥, 𝑦𝑦) = 𝐶𝐶 es igual a: 𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑦𝑦 2 = 𝐶𝐶

Solución general

Asignando valores a la constante C se tienen las siguientes soluciones particulares Si C= 1 Si C = 2 Si C = 3

𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑦𝑦 2 = 1 𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑦𝑦 2 = 2 𝑥𝑥 2 + 𝑥𝑥𝑥𝑥 + 𝑦𝑦 2 = 3

Se grafican estas soluciones particulares utilizando Matlab Programa 3: Para graficar soluciones particulares E.D. exactas % Definir el intervalo de x e y x = linspace(-3, 3, 500); % Intervalo de x y = linspace(-3, 3, 500); % Intervalo de y % Crear una malla de valores de x e y [X, Y] = meshgrid(x, y); % Definir la función implícita Z = X.^2 + X.*Y + Y.^2; % Graficar las curvas de nivel para C = 1, C = 2, y C = 3 figure; [C,h] = contour(X, Y, Z, [1, 2, 3], 'LineWidth', 1.5); % Añadir etiquetas a las curvas de nivel clabel(C,h); % Añadir etiquetas y título xlabel('x'); ylabel('y'); title(' x^2 + x \cdot y + y^2 = C'); % Mostrar la cuadrícula grid on; % Mostrar la gráfica axis equal;

20


en Ingeniería con sus métodos y aplicaciones

Figura 3: Solución particular E.D. Exacta

Fuente: Elaboración propia

1.4. Ecuaciones diferenciales lineales Las ecuaciones diferenciales lineales de primer orden son una categoría importante de ecuaciones diferenciales ordinarias. Tienen la forma general: 𝑑𝑑𝑑𝑑 + 𝑃𝑃(𝑥𝑥) 𝑦𝑦 = 𝑄𝑄(𝑥𝑥) 𝑑𝑑𝑑𝑑

Para resolver se siguen los siguientes pasos.

Identificar 𝑷𝑷(𝒙𝒙) y 𝑸𝑸(𝒙𝒙): Observa la ecuación diferencial y determina los coeficientes 𝑷𝑷(𝒙𝒙) y 𝑸𝑸(𝒙𝒙) Determinar el factor integrante: El factor integrante 𝜇𝜇(𝑥𝑥) se calcula como: 𝜇𝜇(𝑥𝑥) = 𝑒𝑒 ∫ 𝑃𝑃(𝑥𝑥)𝑑𝑑𝑑𝑑

Resolver el siguiente diferencial: Que resulta de multiplicar a los dos lados el factor de integración obteniéndose de esta manera una ecuación diferencial lineal exacta, con la siguiente ecuación 𝑑𝑑(𝜇𝜇(𝑥𝑥) 𝑦𝑦(𝑥𝑥)) = 𝑄𝑄(𝑥𝑥)𝜇𝜇(𝑥𝑥) 𝑑𝑑𝑑𝑑 21


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

La integración directa de la ecuación resultante permite encontrar la solución de la ecuación diferencial lineal inicial. ∫ 𝑑𝑑(𝜇𝜇(𝑥𝑥) 𝑦𝑦(𝑥𝑥)) = ∫ 𝑄𝑄(𝑥𝑥)𝜇𝜇(𝑥𝑥) 𝑑𝑑𝑑𝑑

Verificar la solución: Siempre se verifica la solución obtenida sustituyéndola en la ecuación diferencial original para asegurarte de que satisfaga la ecuación. Ejemplo Ilustrativo. Resolver: y’ + y = sen (x) Identificar 𝑷𝑷(𝒙𝒙) y 𝑸𝑸(𝒙𝒙):

Aquí, 𝑃𝑃(𝑥𝑥) = 1 y 𝑄𝑄(𝑥𝑥): 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)

Determinar el factor integrante

Resolver el siguiente diferencial:

𝜇𝜇(𝑥𝑥) = 𝑒𝑒 ∫ 𝑃𝑃(𝑥𝑥)𝑑𝑑𝑑𝑑 = 𝑒𝑒 ∫ 1𝑑𝑑𝑑𝑑 = 𝑒𝑒 𝑥𝑥 𝑑𝑑(𝜇𝜇(𝑥𝑥) 𝑦𝑦(𝑥𝑥)) = 𝑄𝑄(𝑥𝑥)𝜇𝜇(𝑥𝑥) 𝑑𝑑𝑑𝑑

𝑑𝑑(𝑒𝑒 𝑥𝑥 𝑦𝑦(𝑥𝑥)) = 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑

Integrando resulta

∫ 𝑑𝑑(𝑒𝑒 𝑥𝑥 𝑦𝑦(𝑥𝑥)) = ∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑

(𝑒𝑒 𝑥𝑥 𝑦𝑦(𝑥𝑥)) = ∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑

Para resolver por partes el lado derecho, seleccionamos:

𝑢𝑢 = 𝑒𝑒 𝑥𝑥 y 𝑑𝑑𝑑𝑑 = 𝑠𝑠𝑠𝑠𝑠𝑠(𝑥𝑥)𝑑𝑑𝑑𝑑 , entonces obtenemos 𝑑𝑑𝑑𝑑 = 𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 𝑦𝑦 𝑣𝑣 = −cos (𝑥𝑥) Aplicando la fórmula de integración por partes:

∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 = −𝑒𝑒 𝑥𝑥 cos(𝑥𝑥) − ∫(−𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥))𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑

Ahora, tenemos una nueva integral que podemos resolver nuevamente por partes. Por lo tanto, aplicamos integración por partes una vez más. Seleccionamos 𝑢𝑢 = 𝑒𝑒 𝑥𝑥 y 𝑑𝑑𝑑𝑑 = 𝑠𝑠𝑠𝑠𝑠𝑠(𝑥𝑥)𝑑𝑑𝑑𝑑 , entonces 𝑑𝑑𝑑𝑑 = 𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 𝑦𝑦 𝑣𝑣 = −sen (𝑥𝑥)

Aplicamos la fórmula de integración por partes nuevamente: ∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 = −𝑒𝑒 𝑥𝑥 cos(𝑥𝑥) − (−𝑒𝑒 𝑥𝑥 sen(𝑥𝑥) − ∫(−𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥))𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑)

Simplificando, obtenemos:∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 = −𝑒𝑒 𝑥𝑥 cos(𝑥𝑥) + 𝑒𝑒 𝑥𝑥 sen(𝑥𝑥) − ∫(𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥))𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 Sumamos, ∫(𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥))𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 en ambos lados: 2 ∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 = −𝑒𝑒 𝑥𝑥 cos(𝑥𝑥) + 𝑒𝑒 𝑥𝑥 sen(𝑥𝑥)

22


en Ingeniería con sus métodos y aplicaciones

Despejando, tenemos ∫ 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 =

Reemplazando en la integral:

𝑒𝑒 𝑥𝑥 𝑦𝑦(𝑥𝑥) =

Despejando obtenemos la solución general:

−𝑒𝑒 𝑥𝑥 cos(𝑥𝑥) + 𝑒𝑒 𝑥𝑥 sen(𝑥𝑥) + 𝐶𝐶 2

−𝑒𝑒 𝑥𝑥 cos(𝑥𝑥) + 𝑒𝑒 𝑥𝑥 sen(𝑥𝑥) + 𝐶𝐶 2

1 𝑦𝑦(𝑥𝑥) = (− cos(𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠(𝑥𝑥)) + 𝐶𝐶𝑒𝑒 −𝑥𝑥 2

Asignando valores a la constante C se tienen las siguientes soluciones particulares Si C= 1 Si C = 2 Si C = 3

1

𝑦𝑦(𝑥𝑥) = (− cos(𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠(𝑥𝑥)) + 𝑒𝑒 −𝑥𝑥 2

1

𝑦𝑦(𝑥𝑥) = (− cos(𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠(𝑥𝑥)) + 2𝑒𝑒 −𝑥𝑥 2 1

𝑦𝑦(𝑥𝑥) = (− cos(𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠(𝑥𝑥)) + 3𝑒𝑒 −𝑥𝑥 2

Se grafican estas soluciones particulares utilizando Matlab Programa 4: Para graficar soluciones particulares E.D. lineales % Definir el intervalo de x x = linspace(0, 10, 1000); % Definir la función para diferentes valores de C y1 = 1/2 * (-cos(x) + sin(x)) + 1 * exp(-x); % C = 1 y2 = 1/2 * (-cos(x) + sin(x)) + 2 * exp(-x); % C = 2 y3 = 1/2 * (-cos(x) + sin(x)) + 3 * exp(-x); % C = 3 % Graficar las funciones figure; plot(x, y1, 'r', 'LineWidth', 1); hold on; plot(x, y2, 'g', 'LineWidth', 1); plot(x, y3, 'b', 'LineWidth', 1); % Añadir etiquetas y leyenda xlabel('x'); ylabel('y'); title(' y = 1/2 (-cos(x) + sin(x)) + C e^{-x}'); legend('C = 1', 'C = 2', 'C = 3');

23


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 4: Solución particular E.D. lineal

Fuente: Elaboración propia

1.5. Aplicación de las distintas soluciones en problemas de las ingenierías 1.5.1 Problemas de enfriamiento El problema de enfriamiento diferencial de primer orden se basa en la ley de Newton del enfriamiento, que establece que la velocidad de pérdida de calor de un objeto es proporcional a la diferencia de temperatura entre el objeto y su entorno. Matemáticamente, este problema se puede expresar mediante una ecuación diferencial de primer orden. Supongamos que 𝑇𝑇(𝑡𝑡) es la temperatura del objeto en función del tiempo t, y 𝑇𝑇𝑚𝑚 es la temperatura del medio ambiente (constante) y k es la constante de proporcionalidad que determina la rapidez con la que el objeto se enfría. Entonces, la ley de enfriamiento de Newton se puede escribir como: 𝑑𝑑𝑑𝑑 = −𝑘𝑘(𝑇𝑇 − 𝑇𝑇𝑚𝑚 ) 𝑑𝑑𝑑𝑑

Ecuación diferencial y su interpretación: La ecuación anterior, establece que la tasa de cambio de la temperatura del objeto con respecto al tiempo es proporcional a la diferencia entre la temperatura del objeto y la temperatura del medio ambiente. Si 𝑇𝑇 > 𝑇𝑇𝑚𝑚 , entonces la temperatura del objeto disminuirá con el tiempo, ya que la tasa de enfriamiento será negativa. Si 𝑇𝑇 < 𝑇𝑇𝑚𝑚 , la temperatura del objeto aumentará con el tiempo, ya que la tasa de enfriamiento será positiva.

24


en Ingeniería con sus métodos y aplicaciones

Modelado de problemas de enfriamiento: Esta ecuación es utilizada para modelar fenómenos de enfriamiento térmico. Por ejemplo, puede representar el enfriamiento de un objeto caliente en un entorno a temperatura ambiente. Análisis cualitativo: El análisis cualitativo de la solución implica comprender cómo el comportamiento de 𝑇𝑇(𝑡𝑡) varía en función de 𝑘𝑘, 𝑇𝑇𝑚𝑚 𝑦𝑦 𝑇𝑇. A medida que t tiende a infinito, la temperatura del objeto tiende a la temperatura del medio ambiente 𝑇𝑇𝑚𝑚 . La rapidez de calentamiento o enfriamiento de un objeto es proporcional a la diferencia entre la temperatura del objeto y la temperatura del medio que lo rodea. 𝑑𝑑𝑑𝑑 = 𝑘𝑘(𝑇𝑇 − 𝑇𝑇𝑚𝑚 ) 𝑑𝑑𝑑𝑑

Donde 𝑘𝑘 es constante, 𝑡𝑡 es tiempo, 𝑇𝑇 es temperatura del objeto y 𝑇𝑇𝑚𝑚 la temperatura del medio 𝑑𝑑𝑑𝑑 = 𝑘𝑘𝑘𝑘𝑘𝑘 𝑇𝑇 − 𝑇𝑇𝑚𝑚 𝑑𝑑𝑑𝑑 − ∫ 𝑘𝑘𝑘𝑘𝑘𝑘 = ∫ 0 ∫ 𝑇𝑇 − 𝑇𝑇𝑚𝑚 𝑙𝑙𝑙𝑙(𝑇𝑇 − 𝑇𝑇𝑚𝑚 ) − 𝑘𝑘𝑘𝑘 = 𝐶𝐶

𝑙𝑙𝑙𝑙(𝑇𝑇 − 𝑇𝑇𝑚𝑚 ) = 𝑘𝑘𝑘𝑘 + 𝐶𝐶 𝑒𝑒 𝑙𝑙𝑙𝑙(𝑇𝑇−𝑇𝑇𝑚𝑚 ) = 𝑒𝑒 𝑘𝑘𝑘𝑘+𝑐𝑐 𝑇𝑇 − 𝑇𝑇𝑚𝑚 = 𝑒𝑒 𝑘𝑘𝑘𝑘 (𝑒𝑒 𝑐𝑐 ) 𝑇𝑇 − 𝑇𝑇𝑚𝑚 = 𝑐𝑐𝑒𝑒 𝑘𝑘𝑘𝑘

Solución 𝑇𝑇 = 𝑇𝑇𝑚𝑚 + 𝑐𝑐𝑒𝑒 𝑘𝑘𝑘𝑘

Aplicaciones: Esta ecuación es aplicable en situaciones prácticas como el enfriamiento de líquidos o sólidos calientes en un entorno con temperatura ambiente, la refrigeración de motores, la transferencia de calor en ingeniería, etc. Solución:

𝑇𝑇 = 𝑇𝑇𝑚𝑚 + 𝑐𝑐𝑒𝑒 𝑘𝑘𝑘𝑘

Ejemplo ilustrativo:

Si la temperatura del aire es de 20 °C y un cuerpo se enfría en 20 minutos desde 100 °C a 60 °C ¿En cuánto tiempo su temperatura será de 30 °C? Datos: 𝑇𝑇𝑚𝑚 = 20℃

𝑇𝑇(20) = 60℃ 𝑡𝑡 = ?

𝑇𝑇(0) = 100℃

𝑇𝑇(𝑡𝑡) = 30℃

Resolución: 𝑑𝑑𝑑𝑑 = 𝑘𝑘(𝑇𝑇 − 𝑇𝑇𝑚𝑚 ) 𝑑𝑑𝑑𝑑

=>

𝑇𝑇(0) = 20℃ + 𝑐𝑐𝑒𝑒 𝑘𝑘(0) = 100℃

𝑇𝑇 = 𝑇𝑇𝑚𝑚 + 𝑐𝑐𝑒𝑒 𝑘𝑘𝑘𝑘

25


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝑐𝑐 = 80℃

𝑇𝑇(20) = 20℃ + 80℃[𝑒𝑒 𝑘𝑘(20) ] = 60℃ 80℃[𝑒𝑒 20𝑘𝑘 ] = 40℃ 𝑒𝑒 20𝑘𝑘 =

1 2

1 𝑙𝑙𝑙𝑙 𝑒𝑒 20𝑘𝑘 = 𝑙𝑙𝑙𝑙 ( ) 2 1 20𝑘𝑘 = 𝑙𝑙𝑙𝑙 ( ) 2

𝑘𝑘 =

𝑙𝑙𝑙𝑙(1⁄2) 20

𝑇𝑇(𝑡𝑡) = 20℃ + 80℃(𝑒𝑒 𝑘𝑘𝑘𝑘 ) = 30℃ 80℃ {𝑒𝑒

𝑒𝑒

𝑙𝑙𝑙𝑙(1⁄2) [ 20 ]𝑡𝑡 } = 10℃

𝑙𝑙𝑙𝑙(1⁄2) 1 [ 20 ]𝑡𝑡 =

8

𝑙𝑙𝑙𝑙(1⁄2) 1 [ ]𝑡𝑡 𝑙𝑙𝑙𝑙 {𝑒𝑒 20 } = 𝑙𝑙𝑙𝑙 ( )

𝑙𝑙𝑙𝑙(1⁄2) 1 [ ] 𝑡𝑡 = 𝑙𝑙𝑙𝑙 ( ) 20 8

8

𝑙𝑙𝑙𝑙(1⁄8) 𝑡𝑡 = 20 [ ] 𝑙𝑙𝑙𝑙(1⁄2)

𝑡𝑡 = 60 minutos

Solución: La temperatura será 30 °C después de 60 minutos

Se grafica la temperatura en función del tiempo utilizando Matlab 𝑇𝑇(𝑡𝑡) = 20 + 80(𝑒𝑒 −0.035𝑡𝑡 )

Programa 5: Para graficar aplicación E.D. en enfriamiento % Definir el intervalo de t t = linspace(0, 100, 1000); % Intervalo de t de 0 a 100 % Definir la función T(t) T = 20 + 80 * exp(-0.035 * t); % Graficar la función T(t) figure; plot(t, T, 'b', 'LineWidth', 1.5); hold on;

26


en Ingeniería con sus métodos y aplicaciones

% Representar el punto (60, 30) plot(60, 30, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r'); % Definir el intervalo de t t = linspace(0, 100, 1000); % Intervalo de t de 0 a 100 % Definir la función T(t) T = 20 + 80 * exp(-0.035 * t); % Graficar la función T(t) figure; plot(t, T, 'b', 'LineWidth', 1.5); hold on; % Representar los puntos (60, 30), (0, 100), (20, 60) plot(60, 30, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r'); % Punto (60, 30) plot(0, 100, 'go', 'MarkerSize', 10, 'MarkerFaceColor', 'g'); % Punto (0, 100) plot(20, 60, 'mo', 'MarkerSize', 10, 'MarkerFaceColor', 'm'); % Punto (20, 60) % Añadir etiquetas y título xlabel('t'); ylabel('T(t)'); title(' T = 20 + 80 e^{-0.035 t}'); % Añadir leyenda legend('T(t)', 'Punto (60, 30)', 'Punto (0, 100)', 'Punto (20, 60)'); % Añadir cuadrícula grid on; % Mostrar la gráfica hold off;

27


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 5: Aplicación E.D.- enfriamiento

Fuente: Elaboración propia

1.5.2 Problemas de crecimiento y decrecimiento Cuando la variación de la cantidad con respecto al tiempo es proporcional a la cantidad de sustancia presente, estamos tratando con una ecuación diferencial del tipo: 𝑑𝑑𝑑𝑑 = 𝑘𝑘 𝐴𝐴 𝑑𝑑𝑑𝑑

Donde A representa la cantidad de sustancia en un momento dado, t es el tiempo y k es la constante de proporcionalidad que determina la tasa de crecimiento o decrecimiento. Ecuación diferencial y su interpretación: La ecuación

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

= 𝑘𝑘 𝐴𝐴 establece que la tasa

de cambio de la cantidad de sustancia A con respecto al tiempo t es directamente proporcional a la cantidad de sustancia presente en ese momento.

28


en Ingeniería con sus métodos y aplicaciones

Modelado de problemas de crecimiento y decrecimiento: Esta ecuación es ampliamente utilizada para modelar fenómenos de crecimiento o decrecimiento exponencial. En biología, puede representar el crecimiento de una población; en química, el decaimiento radiactivo de un isótopo; en economía, el crecimiento o decrecimiento de una inversión, etc. Análisis cualitativo: El comportamiento de la solución depende del signo de 𝑘𝑘. Si 𝑘𝑘 > 0, la cantidad de sustancia crece exponencialmente y tiende a infinito a medida que 𝑡𝑡 tiende a infinito. Si 𝑘𝑘 < 0, la cantidad de sustancia disminuye exponencialmente y tiende a cero a medida que 𝑡𝑡 tiende a infinito. Si 𝐴𝐴(𝑡𝑡) es la cantidad de un elemento en cualquier instante, la rapidez de variación es proporcional a la cantidad presente 𝑑𝑑𝑑𝑑 = 𝑘𝑘𝑘𝑘 𝑑𝑑𝑑𝑑

Donde 𝑘𝑘 es constante, 𝐴𝐴 es la cantidad de un elemento y 𝑡𝑡 es el tiempo 𝑑𝑑𝑑𝑑 = 𝑘𝑘𝑘𝑘𝑘𝑘 𝐴𝐴

∫

𝑑𝑑𝑑𝑑 − ∫ 𝑘𝑘𝑘𝑘𝑘𝑘 = ∫ 0 𝐴𝐴

𝑙𝑙𝑙𝑙 𝐴𝐴 − 𝑘𝑘𝑘𝑘 = 𝐶𝐶 𝑙𝑙𝑙𝑙 𝐴𝐴 = 𝑘𝑘𝑘𝑘 + 𝐶𝐶 𝑒𝑒 𝑙𝑙𝑙𝑙 𝐴𝐴 = 𝑒𝑒 𝑘𝑘𝑘𝑘+𝑐𝑐

𝐴𝐴 = 𝑒𝑒 𝑘𝑘𝑘𝑘 (𝑒𝑒 𝑐𝑐 )

Solución:

𝐴𝐴 = 𝑐𝑐𝑒𝑒 𝑘𝑘𝑘𝑘

Aplicaciones: Esta ecuación es aplicable en una amplia variedad de campos, como la biología, química, física, economía, demografía, entre otros. Por ejemplo, puede modelar el crecimiento de una población de bacterias, el decaimiento de un material radiactivo, el crecimiento de una inversión financiera, etc. Ejemplo ilustrativo: En cualquier tiempo t la cantidad de bacterias en un cultivo crece a razón proporcional al número de bacterias presentes. Al cabo de 3 horas se observa que hay 400 bacterias. Después de 10 horas hay 2000. ¿Cuál es la cantidad inicial de bacterias? Datos: A= cantidad de bacterias 𝐴𝐴(3) = 400

𝐴𝐴(10) = 2000

𝐴𝐴(0) = ?

29


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Resolución: 𝑑𝑑𝑑𝑑 = 𝑘𝑘𝑘𝑘 𝑑𝑑𝑑𝑑

𝐴𝐴(0) = 𝑐𝑐𝑒𝑒 𝑘𝑘(0)

𝐴𝐴 = 𝑐𝑐𝑒𝑒 𝑘𝑘𝑘𝑘

=>

𝐴𝐴(0) = 𝑐𝑐

𝐴𝐴(𝑡𝑡) = 𝐴𝐴(0) 𝑒𝑒 𝑘𝑘𝑘𝑘

𝐴𝐴(3) = 𝐴𝐴(0) 𝑒𝑒 𝑘𝑘(3) = 400

𝐴𝐴(0) =

400 𝑒𝑒 3𝑘𝑘

𝐴𝐴(10) = 𝐴𝐴(0) 𝑒𝑒 𝑘𝑘(10) = 2000 400 10𝑘𝑘 𝑒𝑒 = 2000 𝑒𝑒 3𝑘𝑘

𝑒𝑒 7𝑘𝑘 = 5

7𝑘𝑘 = 𝑙𝑙𝑙𝑙 5

𝐴𝐴(0) = 400𝑒𝑒

𝑙𝑙𝑙𝑙 𝑒𝑒 7𝑘𝑘 = 𝑙𝑙𝑙𝑙 5

−3𝑘𝑘

𝑘𝑘 =

𝑙𝑙𝑙𝑙 5

𝐴𝐴(0) = 400𝑒𝑒 −3( 7 )

𝑙𝑙𝑙𝑙 5 7

𝐴𝐴(0) = 200,68 ≅ 201 bacterias

Solución: Existían 201 bacterias inicialmente

Se grafica la cantidad de bacterias en función del tiempo utilizando Matlab. 𝑙𝑙𝑙𝑙 5

𝐴𝐴(𝑡𝑡) = 400𝑒𝑒 −3( 7 )𝑡𝑡

Programa 6: Para graficar aplicación E.D. en crecimiento % Definir el intervalo de t t = linspace(0, 12, 1000); % Intervalo de t de 0 a 12 % Definir la función A(t) K = log(5)/7 ; C = 400 * exp(-3*K); A = C* exp(K*t); % Graficar la función A(t) figure; plot(t, A, 'b', 'LineWidth', 1.5); hold on; % Representar los puntos (3, 400), (10, 2000), (0, 200.68) plot(3, 400, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r'); % Punto (3, 400) plot(10, 2000, 'go', 'MarkerSize', 10, 'MarkerFaceColor', 'g'); % Punto (10, 2000) plot(0, 200.68, 'mo', 'MarkerSize', 10, 'MarkerFaceColor', 'm'); % Punto (0, 200.68) % Añadir etiquetas y título xlabel('Tiempo t'); ylabel('Cantidad de bacterias A(t)'); title('Crecimiento de bacterias: A = C e^{K t}', 'Interpreter', 'latex'); % Añadir leyenda legend('A(t)', 'Punto (3, 400)', 'Punto (10, 2000)', 'Punto (0, 200.68)'); 30


en Ingeniería con sus métodos y aplicaciones

% Graficar los ejes x e y con colores diferentes plot([0, 12], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [0, 3500], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off; Figura 6: Aplicación E.D.- crecimiento

Fuente: Elaboración propia

1.5.3

Problemas de caída de cuerpos con resistencia del aire

Ley de Movimiento de Newton En la obra “Principios matemáticos de la filosofía natural” de Isaac Newton dio a conocer las leyes del movimiento, donde revolucionó conceptos de movimientos de los cuerpos, eso gracias a unos aportes de Galileo Galilei y de Albert Einstein. La primera Ley establece que, si un objeto sigue en reposo o tiene desplazamiento mediante una velocidad constante y una dirección, continuará hasta que una fuerza externa actúe en él. Según Newton que cita: “Un cuerpo continúa en su estado de reposo o en movimiento uniforme en línea recta a menos que actúe sobre él una fuerza.” (Study Smarter, 2019) La fuerza neta que actúa sobre un cuerpo es igual a la razón al cambio del momento del cuerpo. Respecto al tiempo; o bien, para una masa constante. 𝑑𝑑𝑑𝑑 𝐹𝐹 = 𝑚𝑚 𝑑𝑑𝑑𝑑

31


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Donde F es la fuerza neta sobre el cuerpo y (v) la velocidad del cuerpo, ambas en el tiempo y la (t) para el problema que nos ocupa, existen dos fuerzas que actúan sobre el cuerpo: La fuerza de vida, la gravedad dada por el peso W del cuerpo, que se iguala a mg, y (la fuerza de vida la resistencia del aire dada por -K y V, donde K≥0, es una constante de proporcionalidad. Se necesita el signo – porque esta fuerza se opone a la velocidad; es decir actúa en la dirección ascendente o negativa) La fuerza neta F sobre el cuerpo es, por lo tanto, F es igual a mg – kv. 𝑚𝑚𝑚𝑚 − 𝑘𝑘𝑘𝑘 = 𝑚𝑚

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑 𝑘𝑘 + 𝑣𝑣 = 𝑔𝑔 𝑑𝑑𝑑𝑑 𝑚𝑚

Como la ecuación de movimiento para el cuerpo, si la resistencia del aire es despreciable o no existe, entonces: K= 0 y se simplifica a 𝑑𝑑𝑑𝑑 = 𝑔𝑔 𝑑𝑑𝑑𝑑

Cuando K > 0, la velocidad limite V está definida por 𝑣𝑣 =

Ejemplo ilustrativo:

𝑚𝑚𝑚𝑚 𝑘𝑘

Un cuerpo con masa de 10kg se suelta a una altura de 300m. Sin velocidad inicial, el cuerpo encuentra una resistencia al aire proporcional a su velocidad, si su velocidad limite es de 95 m/s encontrar: a) La velocidad del cuerpo en un tiempo t b) La posición del cuerpo en tiempo t Para la solución del problema tenemos lo siguiente ƩF = m * a P= m * g a = dv/dt

32


en Ingeniería con sus métodos y aplicaciones

Fuente: Elaboración propia Dada la ecuación que rige la velocidad de los objetos en situaciones de movimiento vertical, bajo acción de la gravedad y la resistencia del aire es: m

dv + kv = mg dt

Donde (v) es una variable independiente t y m, K y g con constantes, con m distinto a 0. Para la forma estándar dividimos los términos de la ecuación por m y obtenemos. dv k k + v = g o v′ + v = g dt m m

Para encontrar la solución al primer literal haremos uso del método de las ecuaciones lineales y calculamos el factor de integración, con m=10 y g=10 k

k

e∫10dt = e10t

Multiplicamos ahora todos los términos de la ecuación por este factor obteniendo. k

Ahora resolvemos

v ′ (e10t ) +

k k k v (e10t ) = 10(emt ) 10 k

k d(v(e10t )) = 10(e10t ) dt k

k

∫ d(v(e10t )) = ∫ 10(e10t )dt

Ahora para determinar la solución del lado derecho de la igualdad debemos primero sacar la constante k

k

v(e10t ) = 10 ∫ e10t dt

Si observamos bien la integral notamos que se puede resolver por sustitución u=

du =

k t 10

k dt 10

33


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Sustituimos ahora en la ecuación y resolvemos k

v(e10t ) = 10 ∫ eu

10 du k

k 10 v(e10t ) = 10( ) ∫ eu du k k

v (e10t ) = k

v (e10t ) =

100 u e +C k 100eu +C k

k k 100e10t t 10 v (e ) = +C

k

Despejamos v de la solución y esa es nuestra velocidad en cualquier tiempo t k

100e10t +C k v= k

v=

(e10t )

−k 100 + Ce 10 t k

Entonces ahora podemos sustituir en la ecuación los 95m/s, teniendo en cuenta que v(0) = 0m/s

v(l) = 95m/s

−k 100 + Ce 10 t k

95 =

Y como nuestra velocidad máxima en este caso es 95m/s y nuestra exponencial al límite da como resultado 0, tenemos. 95 =

k=

100 +0 k

20 100 = 19 95

Considerando que la velocidad inicial es cero y por tanto el tiempo también cero, se tiene: 0=

−k 100 + Ce 10 t k

0=

Y nuestra solución explicita seria:

100 +C 20/19

C = −95 −20

v = 95 − 95e 19 t

Determinamos la posición del objeto en un tiempo t, para ello utilizamos el método de las separables.

34


en Ingeniería con sus métodos y aplicaciones

Nos especifican que no tiene velocidad inicial y que a su vez que la resistencia del aire que se encuentra es proporcional a su velocidad, por tanto. v=

dx dt

Pasamos la variable al otro lado de la ecuación e integramos ∫ dx = ∫ vdt Ahora solo sustituimos en la ecuación

x = vt + C

x = 95 t −

95(19) −20t e 19 + C 20

C determina la posición inicial en la que se encuentra el objeto; en nuestro caso son 300m −300 = −90.25 + C −300 + 90.25 = C C = −209.75 −20

x = 95 t − 90.25e 19 t − 209.75

Se grafica la velocidad y el desplazamiento en función del tiempo utilizando Matlab. −20

V = 95 − 95e 19 t

−20

x = 95 t − 90.25e 19 t − 209.75

Programa 7: Para graficar aplicación E.D. en caída de cuerpos % Definir el intervalo de t t = linspace(0, 3, 1000); % Intervalo de tiempo de 0 a 5 segundos % Definir la ecuación de la velocidad V(t) V = 95 - 95 * exp(-20/19 * t); % Definir la ecuación de la posición x(t) x = 95*t - (95 * 19 / 20) * exp(-20/19 * t) - 209.75; % Graficar la velocidad V(t) figure; subplot(2,1,1); % Crear un subplot para la velocidad plot(t, V, 'b', 'LineWidth', 1.5); xlabel('Tiempo t (s)'); ylabel('Velocidad V(t) (m/s)'); title('Velocidad de un cuerpo: V(t) = 95 - 95e^{-20/19 t}'); grid on; % Graficar la posición x(t) subplot(2,1,2); % Crear un subplot para la posición plot(t, x, 'r', 'LineWidth', 1.5); xlabel('Tiempo t (s)'); ylabel('Posición x(t) (m)'); title('Posición de un cuerpo: x(t)= 95t - 90.25e^{-20/19 t}-209.75') 35


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

grid on; % Mostrar la gráfica hold off; Figura 7: Aplicación E.D.- caída de cuerpos

Fuente: Elaboración propia

1.5.4

Problemas de diluciones

La ecuación diferencial que describe el proceso de dilución de una solución se deriva a partir de la ley de conservación de la masa. Supongamos que tenemos una solución con una concentración inicial 𝐶𝐶0 y estamos agregando solvente a una tasa constante 𝑉𝑉0 (por ejemplo, en mL/minuto). La tasa de cambio de la cantidad de soluto en la solución con respecto al tiempo está relacionada con la concentración de soluto en la solución en ese momento. Esto se expresa mediante la ecuación diferencial:

Donde:

𝑑𝑑𝑑𝑑 = −𝑘𝑘 . 𝐶𝐶(𝑡𝑡) 𝑑𝑑𝑑𝑑

𝑄𝑄(𝑡𝑡) es la cantidad de soluto en la solución en el tiempo t.

𝐶𝐶(𝑡𝑡) es la concentración de soluto en la solución en el tiempo t.

𝑘𝑘 es la constante de proporcionalidad que representa la tasa de dilución

36


en Ingeniería con sus métodos y aplicaciones

•

Modelado del problema: Este modelo describe cómo cambia la concentración de soluto en una solución a medida que se le agrega solvente a una tasa constante. La ecuación diferencial captura la relación entre la tasa de cambio de la cantidad de soluto y la concentración de soluto presente en la solución en un momento dado.

•

Análisis cualitativo: El análisis cualitativo de la solución implica comprender cómo cambia la concentración de soluto en la solución a lo largo del tiempo. La solución general de la ecuación diferencial muestra cómo la concentración de soluto disminuye exponencialmente a medida que se agrega solvente. Dependiendo de los parámetros específicos del problema (como la concentración inicial y la tasa de dilución), podemos determinar cómo varía la concentración de soluto y cuánto tiempo tomará alcanzar ciertas concentraciones.

•

Aplicaciones: Las aplicaciones de los problemas de dilución son diversas y se encuentran en campos como la química, la bioquímica, la farmacología, la medicina, entre otros. Por ejemplo, en el laboratorio químico, es común diluir soluciones para ajustar la concentración de solutos antes de realizar experimentos. En farmacología, las diluciones son importantes en la preparación de medicamentos y en la administración de dosis precisas. En la práctica clínica, la dilución de medicamentos se utiliza para ajustar las dosis según las necesidades del paciente.

Ejemplo ilustrativo: Una solución de sal tiene una concentración inicial de 0.1 g/mL. Se quiere diluir esta solución agregándole agua a una tasa constante de 0.05 mL/minuto. La solución se agita constantemente para garantizar una mezcla uniforme. Encuentre a) Una expresión para la concentración de sal en la solución en función del tiempo, y b) Determine cuánto tiempo se tardará en que la concentración de sal disminuya a la mitad de su valor inicial. Desarrollo: a) Resolución de la ecuación diferencial: Recordemos la ecuación diferencial que modela el proceso de dilución: 𝑑𝑑𝑑𝑑 = −𝑘𝑘 . 𝐶𝐶(𝑡𝑡) 𝑑𝑑𝑑𝑑

Procedemos a separar las variables 𝑑𝑑𝑑𝑑 = −𝑘𝑘 . 𝑑𝑑𝑑𝑑 𝐶𝐶 Integrando ∫

𝑑𝑑𝑑𝑑 = − ∫ 𝑘𝑘 . 𝑑𝑑𝑑𝑑 𝐶𝐶 37


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

ln|𝐶𝐶| = −𝑘𝑘𝑘𝑘 + 𝐶𝐶1

Donde 𝐶𝐶1 es la constante de integración.

Aplicamos la exponencial en ambos lados de la ecuación para despejar C |𝐶𝐶| = 𝑒𝑒 −𝑘𝑘𝑘𝑘+𝐶𝐶1 𝐶𝐶 = 𝐶𝐶2 𝑒𝑒 −𝑘𝑘𝑘𝑘

Aplicando las condiciones iniciales 𝐶𝐶2 . Si en t=0 la concentración es 𝐶𝐶0

𝐶𝐶0 = 𝐶𝐶2 𝑒𝑒 0 𝐶𝐶2 = 𝐶𝐶0

Por lo tanto, la solución solicitada en a) es: 𝐶𝐶(𝑡𝑡) = 𝐶𝐶0 𝑒𝑒 −𝑘𝑘𝑘𝑘

b) Determinación del tiempo necesario para reducir la concentración a la mitad: Queremos encontrar t tal que 𝐶𝐶(𝑡𝑡) =

𝐶𝐶0 2

= 𝐶𝐶0 𝑒𝑒 −𝑘𝑘𝑘𝑘

𝐶𝐶0 2

. Sustituyendo en la solución general y resolviendo para t:

1 = 𝑒𝑒 −𝑘𝑘𝑘𝑘 2

Tomando logaritmos naturales en ambos lados: 𝑙𝑙𝑙𝑙

1 = −𝑘𝑘𝑘𝑘 2

𝑡𝑡 = −

ln 2 𝑘𝑘

para utilizar esta fórmula, necesitamos conocer el valor de la constante 𝑘𝑘, que representa la tasa de dilución. En el enunciado del ejercicio, se menciona que la tasa de dilución es de 0.05 ml/minuto. Como la tasa de dilución es de 0.05 mL/minuto, y estamos diluyendo una solución de 0.1 g/mL, necesitamos convertir esta tasa de dilución a unidades de concentración, dividiendo la tasa de dilución por la concentración inicial de la solución: 𝑘𝑘 =

0.05 mL/minuto = 0.5 𝑚𝑚𝑚𝑚𝑚𝑚−1 0.1 g/mL

Ahora que tenemos el valor de 𝑘𝑘. podemos calcular el tiempo necesario para reducir la concentración de sal a la mitad: 𝑡𝑡 = −

ln 2

0.5 𝑚𝑚𝑚𝑚𝑚𝑚−1

=

0.693 0.5

= 1.386 𝑚𝑚𝑚𝑚𝑚𝑚

Dado que el tiempo no puede ser negativo, interpretamos este resultado como aproximadamente 1.386 minutos. Por lo tanto, tomaría aproximadamente 1.386 minutos para que la concentración de sal se reduzca a la mitad de su valor inicial en la solución de sal diluida.

Se grafica la concentración de soluto en función del tiempo utilizando Matlab. 𝐶𝐶(𝑡𝑡) = 0.1𝑒𝑒 −0.5𝑡𝑡

38


en Ingeniería con sus métodos y aplicaciones

Programa 8: Para graficar la aplicación E.D. en diluciones % Definir el intervalo de t t = linspace(0, 5, 1000); % Intervalo de t de 0 a 5 % Definir la función C(t) C = 0.1 * exp(-0.5 * t); % Graficar la función C(t) figure; plot(t, C, 'b', 'LineWidth', 1.5); hold on; % Representar los puntos (0, 0.1), (1.386, 0.5) plot(0, 0.1, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r'); % Punto (0, 0.1) plot(1.386, 0.05, 'go', 'MarkerSize', 10, 'MarkerFaceColor', 'g'); % Punto (1.386, 0.5) % Añadir etiquetas y título xlabel('Tiempo t'); ylabel('Cantidad de dilución C(t)'); title('Dilución: C(t) = 0.1 e^{-0.5 t}'); % Añadir leyenda legend('C(t)', 'Punto (0, 0.1)', 'Punto (1.386, 0.5)'); % Graficar los ejes x e y con colores diferentes plot([0, 5], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [0, 0.12], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off;

39


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 8: Aplicación E.D.- diluciones

Fuente: Elaboración propia

1.5.5 Problemas de circuitos eléctrico En problemas de electricidad, las ecuaciones diferenciales modelan la relación entre las variables eléctricas, como el voltaje, la corriente y la carga eléctrica. Estas ecuaciones están basadas en las leyes fundamentales de la electricidad, como la ley de Ohm y las leyes de Kirchhoff. •

Modelado del problema: Las ecuaciones diferenciales se derivan a partir de las leyes físicas que rigen el comportamiento de los circuitos eléctricos. Por ejemplo, la ley de Ohm establece que la corriente 𝐼𝐼 que pasa a través de un conductor es directamente proporcional al voltaje 𝑉𝑉 aplicado e inversamente proporcional a la resistencia 𝑅𝑅 del conductor (es decir,𝑉𝑉 = 𝐼𝐼𝐼𝐼). Además, las leyes de Kirchhoff describen las corrientes y voltajes en los nodos y las mallas de un circuito eléctrico. Estas relaciones se traducen en ecuaciones diferenciales que describen cómo cambian las variables eléctricas con el tiempo.

•

Análisis cualitativo: El análisis cualitativo de las soluciones de las ecuaciones diferenciales eléctricas proporciona información sobre el comportamiento del circuito eléctrico. Esto incluye determinar cómo varían las corrientes y los voltajes en función del tiempo, así como la estabilidad y la respuesta a diferentes condiciones iniciales y externas. Aplicaciones: Las ecuaciones diferenciales en electricidad se aplican en una amplia gama de campos, incluyendo ingeniería eléctrica, electrónica, sistemas de control, telecomunicaciones, entre otros. Por ejemplo, en el diseño y análisis

•

40


en Ingeniería con sus métodos y aplicaciones

de circuitos eléctricos, las ecuaciones diferenciales ayudan a predecir el comportamiento del circuito bajo diferentes condiciones y a optimizar su funcionamiento. En sistemas de control, las ecuaciones diferenciales describen cómo los sistemas eléctricos responden a las señales de entrada y cómo se pueden diseñar sistemas de control para mantener la estabilidad y el rendimiento deseado. Circuito RC: Es un circuito simple que consta de una resistencia 𝑅𝑅 y un capacitor 𝐶𝐶, para lo cual primero se establece la ecuación diferencial que describe la relación entre el voltaje y la corriente en el circuito. En un circuito RC, la corriente 𝑖𝑖(𝑡𝑡) que fluye a través del circuito y el voltaje 𝑉𝑉 a través del capacitor están relacionados por la ley de Ohm y la ley de carga y descarga de un capacitor: 1. Ley de Ohm: 𝑉𝑉𝑅𝑅 = 𝑅𝑅𝑅𝑅(𝑡𝑡) y es el voltaje de la resistencia 𝑑𝑑𝑑𝑑 2. Ley de carga y descarga de un capacitor: 𝑖𝑖(𝑡𝑡) = donde 𝑞𝑞(t) es la 𝑑𝑑𝑑𝑑 carga en Coulombs 𝑉𝑉𝑅𝑅 = 𝑅𝑅𝑅𝑅′(𝑡𝑡) 𝑞𝑞(𝑡𝑡) 3. Para el condensador 𝑉𝑉𝑐𝑐 = Es la carga sobre la capacitancia 𝐶𝐶

Combinando estas dos ecuaciones, obtenemos la ecuación diferencial que describe el circuito RC: 𝑅𝑅𝑅𝑅

o o o o o o

𝑑𝑑𝑑𝑑 + 𝑉𝑉 = 𝑉𝑉𝑠𝑠 𝑑𝑑𝑑𝑑

Donde: 𝑉𝑉 es el voltaje a través del capacitor en un momento dado. 𝑉𝑉𝑠𝑠 es el voltaje de la fuente de voltaje. 𝑅𝑅 es la resistencia en el circuito 𝐶𝐶 es la capacitancia del capacitor. 𝑡𝑡 es el tiempo. 𝑑𝑑𝑑𝑑 es la tasa de cambio del voltaje a través del capacitor en función 𝑑𝑑𝑑𝑑 del tiempo.

Ahora, podemos resolver esta ecuación diferencial de primer orden. La solución general a esta ecuación diferencial se puede obtener utilizando métodos de resolución estándar para ecuaciones diferenciales lineales de primer orden, como el método de la solución por separación de variables o el método del factor integrante. La solución general de la ecuación diferencial será de la forma: 1

𝑉𝑉(𝑡𝑡) = 𝑉𝑉𝑠𝑠 + (𝑉𝑉0 − 𝑉𝑉𝑠𝑠 )𝑒𝑒 − −𝑅𝑅𝑅𝑅

41


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Donde 𝑉𝑉0 es el voltaje inicial a través del capacitor en 𝑡𝑡 = 0. Esta solución muestra cómo varía el voltaje a través del capacitor en función del tiempo y las condiciones iniciales del circuito. Ejemplo ilustrativo: Un circuito RC con una resistencia de 𝑅𝑅 = 100 Ω y un capacitor de 𝐶𝐶 = 0.1 𝐹𝐹. Inicialmente, el capacitor está cargado con un voltaje de 𝑉𝑉0 = 10 𝑉𝑉. La fuente de voltaje suministra un voltaje constante de 𝑉𝑉𝑠𝑠 = 5 𝑉𝑉. Encontrar la expresión para el voltaje a través del capacitor en función del tiempo. Solución:

La ecuación diferencial que describe el circuito RC es: 𝑅𝑅𝑅𝑅

𝑑𝑑𝑑𝑑 + 𝑉𝑉 = 𝑉𝑉𝑠𝑠 𝑑𝑑𝑑𝑑

Donde 𝑅𝑅 = 100 Ω , 𝐶𝐶 = 0.1 𝐹𝐹, 𝑉𝑉0 = 10 𝑉𝑉. y 𝑉𝑉𝑠𝑠 = 5 𝑉𝑉 Reemplazando tenemos

100 ∗ 0.1 10

𝑑𝑑𝑑𝑑 + 𝑉𝑉 = 5 𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑 + 𝑉𝑉 = 5 𝑑𝑑𝑑𝑑

Reordenando la ecuación para obtener la ecuación diferencial estándar: 1 𝑑𝑑𝑑𝑑 𝑉𝑉 + = 𝑑𝑑𝑑𝑑 10 2

Esta es una ecuación diferencial de primer orden lineal. La solución general tiene la forma: 𝑉𝑉 = 𝑉𝑉ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 + 𝑉𝑉𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝

Para la parte homogénea, resolvemos la ecuación: Esta es una ecuación diferencial separable

𝑡𝑡

cuya solución es: 𝑉𝑉ℎ𝑜𝑜𝑜𝑜 = 𝐴𝐴 𝑒𝑒 − 10

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

=−

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 =− 𝑉𝑉 10

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

𝑉𝑉

10

+

𝑉𝑉

10

=0

Para la solución particular utilizando el método de los coeficientes indeterminados 𝑉𝑉𝑝𝑝𝑝𝑝𝑝𝑝 = 𝐵𝐵 = 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐

Reemplazando en la ecuación original

Tenemos

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 = =0 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑉𝑉 1 + = 𝑑𝑑𝑑𝑑 10 2 0+

42

𝐵𝐵 1 = 10 2


en Ingeniería con sus métodos y aplicaciones

Resulta 𝐵𝐵 = 5 por lo que 𝑉𝑉𝑝𝑝𝑝𝑝𝑝𝑝 = 5

𝑡𝑡

𝑉𝑉 = 𝑉𝑉ℎ𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜𝑜 + 𝑉𝑉𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 = 𝐴𝐴 𝑒𝑒 − 10 +5

Usamos la condición inicial: inicialmente, el capacitor está cargado con 𝑉𝑉0 = 10 𝑉𝑉. Reemplazando tenemos:

0

10 = 𝐴𝐴 𝑒𝑒 − 10 +5 despejando se tiene: 𝐴𝐴 = 5

𝑡𝑡

La expresión para el voltaje a través del capacitor en función del tiempo es: 𝑉𝑉 = 5 𝑒𝑒 − 10 + 5

Se grafica el voltaje a través del capacitor en función del tiempo utilizando Matlab. Programa 9: Para graficar la aplicación E.D. en circuitos eléctricos % Definir el intervalo de t t = linspace(0, 50, 1000); % Intervalo de t de 0 a 50 segundos % Definir la ecuación del voltaje V_C(t) V_C = 5 * exp(-t / 10) + 5; % Graficar la función V_C(t) figure; plot(t, V_C, 'b', 'LineWidth', 1.5); hold on; % Representar el punto (0, 10) como condición inicial plot(0, 10, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r'); % Punto (0, 10) % Añadir etiquetas y título xlabel('Tiempo t (s)'); ylabel('Voltaje V_C(t) (V)'); title('Voltaje a través del capacitor: V_C(t) = 5 e^{-t/10} + 5'); % Añadir leyenda legend('V_C(t)', 'Condición inicial (0, 10)'); % Graficar los ejes x e y con colores diferentes plot([0, 50], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [0, 10], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off;

43


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 9: Aplicación E.D.- circuito eléctrico

Fuente: Elaboración propia

1.5.6 Problemas de trayectorias ortogonales El problema de encontrar trayectorias ortogonales a una curva dada implica identificar una familia de curvas que sean perpendiculares en cada punto a otra familia de curvas. Este concepto es relevante en diferentes áreas, como la física, la ingeniería y las matemáticas aplicadas. La base teórica se sustenta en el uso de ecuaciones diferenciales para describir tanto las curvas dadas como las trayectorias ortogonales, con el consiguiente razonamiento. Cuando se tiene una familia de curvas descrita implícitamente por una ecuación 𝐹𝐹(𝑥𝑥, 𝑦𝑦, 𝑧𝑧) = 0 , donde 𝑐𝑐 es una constante que varía para generar diferentes curvas dentro de la familia, se puede derivar con respecto a 𝑥𝑥 para obtener una ecuación diferencial que relacione las derivadas de 𝑦𝑦 y 𝑥𝑥. 𝑑𝑑𝑑𝑑

, que describe cómo El procedimiento general es obtener la pendiente de la curva 𝑑𝑑𝑑𝑑 cambia 𝑦𝑦 respecto a 𝑥𝑥. Esto es esencial, ya que la pendiente de la curva determina la inclinación en cada punto.

Para que dos curvas sean ortogonales (perpendiculares) en un punto, sus pendientes deben cumplir la condición de que el producto de sus pendientes sea igual a -1. Esto 𝑑𝑑𝑑𝑑 , la pendiente de la significa que si la pendiente de una curva dada es 𝑚𝑚1 = 𝑑𝑑𝑑𝑑 trayectoria ortogonal, 𝑚𝑚2 , debe ser tal que: 𝑚𝑚1 𝑚𝑚2 = −1

44


en Ingeniería con sus métodos y aplicaciones

Por lo tanto, la pendiente de la curva ortogonal estará dada por:

𝑑𝑑𝑑𝑑

𝑚𝑚2 = −

1 𝑚𝑚1

de la curva original es una función que puede Dado que la pendiente 𝑚𝑚1 = 𝑑𝑑𝑑𝑑 depender de 𝑥𝑥 y 𝑦𝑦 , la ecuación de la pendiente de las trayectorias ortogonales se transforma en: 𝑑𝑑𝑑𝑑 1 = − 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐

Sustituyendo la expresión de la pendiente de la curva dada, obtenemos una nueva ecuación diferencial que describe las trayectorias ortogonales, que se procede a resolverla utilizando cualquiera de los métodos estándar de resolución planteado en este capítulo. La solución de esta ecuación nos proporciona la ecuación de las trayectorias ortogonales a la familia de curvas inicial. Ejemplo ilustrativo: Se quiere encontrar la familia de curvas ortogonales a: 𝑦𝑦 = 𝑐𝑐𝑒𝑒 −𝑥𝑥

Primeramente, tenemos que despejar la constante “c” de la ecuación: 𝑐𝑐 =

𝑦𝑦

𝑒𝑒 −𝑥𝑥

o también 𝑐𝑐 = 𝑦𝑦𝑒𝑒 𝑥𝑥

Derivando la ecuación original tenemos lo siguiente:

𝑦𝑦 ′ = − 𝑐𝑐𝑒𝑒 −𝑥𝑥

Reemplazando el valor de C resulta 𝑦𝑦 ′ = − (𝑦𝑦𝑒𝑒 𝑥𝑥 )𝑒𝑒 −𝑥𝑥 Por lo que:

𝑦𝑦 ′ = − 𝑦𝑦

Por lo tanto, podemos decir que nuestra pendiente m1 es igual a: -y 𝑑𝑑𝑑𝑑 = − 𝑦𝑦 𝑑𝑑𝑑𝑑

𝑚𝑚1 = − 𝑦𝑦

Sacamos la inversa de nuestra pendiente para tener la pendiente de la familia de curvas ortogonales con la siguiente formula:

𝑚𝑚2 = −

1 𝑚𝑚1

Reemplazando: 𝑚𝑚2 =

𝑚𝑚2 =

−1 −𝑦𝑦

1 𝑦𝑦

45


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Por lo que la ecuación diferencial a resolver es: 𝑑𝑑𝑑𝑑 1 = 𝑑𝑑𝑑𝑑 𝑦𝑦

Integramos despejamos la ecuación por el método de separables: ∫ 𝑦𝑦 𝑑𝑑𝑑𝑑 = ∫ 𝑑𝑑𝑑𝑑

El resultado es nuestra familia de curvas:

𝑦𝑦 2 = 2𝑥𝑥 + 𝐾𝐾

Asignando valores a la constante K de la familia de curvas ortogonales se tienen las siguientes soluciones particulares Si K= 1 Si K = 2

𝑦𝑦 2 = 2𝑥𝑥 + 1 𝑦𝑦 2 = 2𝑥𝑥 + 2

De igual forma si asignamos valores a la constante C de la familia de curvas originales se tienen las siguientes soluciones particulares Si C= 1 Si C= 2

𝑦𝑦 = 𝑒𝑒 −𝑥𝑥 𝑦𝑦 = 2𝑒𝑒 −𝑥𝑥

Se grafica estas soluciones particulares en Matlab. Programa 10: Para graficar la aplicación E.D. en trayectorias ortogonales % Intervalo de valores de x x = linspace(-2, 5, 100); % Valores de las constantes c y K c_values = [1, 2]; K_values = [1, 2]; % Crear una nueva figura figure; hold on; grid on; % Graficar los ejes coordenados plot([min(x) max(x)], [0 0], 'k', 'LineWidth', 1); % Eje X plot([0 0], [-4 16], 'k', 'LineWidth', 1); % Eje Y % Graficar la familia de curvas y = c * e^(-x) para c = 1 y 2 for c = c_values y1 = c * exp(-x); % Familia inicial plot(x, y1, 'DisplayName', ['y = ' num2str(c) 'e^{-x}']); end % Graficar la familia de curvas ortogonales y^2 = 2x + K para K = 1 y 2 46


en Ingeniería con sus métodos y aplicaciones

for K = K_values % Definir los valores de x para evitar argumentos negativos en la raíz cuadrada x_ortogonal = linspace(max(-K/2, -1), 5, 100); % Asegurar que 2x + K >= 0 y_ortogonal_pos = sqrt(2 * x_ortogonal + K); % Parte positiva y_ortogonal_neg = -sqrt(2 * x_ortogonal + K); % Parte negativa % Graficar las trayectorias ortogonales (parte positiva y negativa) plot(x_ortogonal, y_ortogonal_pos, '--', 'DisplayName', ['y^2 = 2x + ' num2str(K)]); plot(x_ortogonal, y_ortogonal_neg, '--'); end % Configuración del gráfico xlabel('x'); ylabel('y'); title('Familia de Curvas y sus Trayectorias Ortogonales'); legend show; hold off; Figura 10: Aplicación E.D.- trayectorias ortogonales

Fuente: Elaboración propia

47


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

48


CAPÍTULO II. ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

2.1 Ecuaciones diferenciales lineales homogéneas de orden n con coeficientes constantes Las ecuaciones diferenciales homogéneas son de la forma 𝑎𝑎𝑛𝑛

𝑑𝑑 𝑛𝑛 𝑦𝑦 𝑑𝑑𝑛𝑛−1 𝑦𝑦 𝑑𝑑𝑑𝑑 + 𝑎𝑎 + ⋯ + 𝑎𝑎1 + 𝑎𝑎𝑎𝑎 = 0 𝑛𝑛−1 𝑛𝑛 𝑛𝑛−1 𝑑𝑑𝑥𝑥 𝑑𝑑𝑥𝑥 𝑑𝑑𝑑𝑑

Donde 𝑎𝑎𝑛𝑛 , 𝑎𝑎𝑛𝑛−1 , ⋯, 𝑎𝑎1 , 𝑎𝑎 son constantes

Para resolver estas ecuaciones diferenciales se obtiene de la ecuación diferencial al polinomio característico: 𝑃𝑃(𝑟𝑟) = 𝑎𝑎𝑛𝑛 𝑟𝑟 𝑛𝑛 + 𝑎𝑎𝑛𝑛−1 𝑟𝑟 𝑛𝑛−1 + ⋯ + 𝑎𝑎1 𝑟𝑟 + 𝑎𝑎 = 0 Donde 𝑟𝑟 𝑛𝑛 =

𝑑𝑑 𝑛𝑛 𝑦𝑦 𝑑𝑑𝑥𝑥 𝑛𝑛

Como 𝑃𝑃(𝑟𝑟) es de grado “𝑛𝑛”, entonces se puede obtener diferentes raíces Métodos de solución Caso 1 Cuando las raíces de la ecuación polinómica 𝑃𝑃(𝑟𝑟) = 0 son reales y distintas 𝑟𝑟1 < 𝑟𝑟2 < ⋯ < 𝑟𝑟𝑛𝑛

Entonces se tiene un sistema de soluciones: 𝑒𝑒 𝑟𝑟1 𝑥𝑥 , 𝑒𝑒 𝑟𝑟2 𝑥𝑥 , ⋯ , 𝑒𝑒 𝑟𝑟𝑛𝑛 𝑥𝑥 y una solución general de la forma:

Caso 2

𝑦𝑦𝑔𝑔 = 𝐶𝐶1 𝑒𝑒 𝑟𝑟1 𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 𝑟𝑟2 𝑥𝑥 + ⋯ + 𝐶𝐶𝑛𝑛 𝑒𝑒 𝑟𝑟𝑛𝑛 𝑥𝑥

Cuando las raíces de la ecuación polinómica 𝑃𝑃(𝑟𝑟) = 0, algunas de las raíces son de multiplicidad 𝑟𝑟1 = 𝑟𝑟2 = ⋯ = 𝑟𝑟𝑛𝑛

Entonces se tiene un sistema de soluciones: 𝑒𝑒 𝑟𝑟1 𝑥𝑥 , 𝑥𝑥𝑒𝑒 𝑟𝑟2 𝑥𝑥 ,

𝑥𝑥 2 𝑒𝑒 𝑟𝑟3 𝑥𝑥 , ⋯ , 𝑥𝑥 𝑛𝑛−1 𝑒𝑒 𝑟𝑟𝑛𝑛 𝑥𝑥

y una solución general: 𝑦𝑦𝑔𝑔 = 𝐶𝐶1 𝑒𝑒 𝑟𝑟1 𝑥𝑥 + 𝐶𝐶2 , 𝑥𝑥𝑒𝑒 𝑟𝑟2 𝑥𝑥 + 𝐶𝐶3 𝑥𝑥 2 𝑒𝑒 𝑟𝑟3 𝑥𝑥 + ⋯ + 𝐶𝐶𝑛𝑛 𝑥𝑥 𝑛𝑛−1 𝑒𝑒 𝑟𝑟𝑛𝑛 𝑥𝑥 Caso 3

Para 𝑖𝑖 = cos 𝑥𝑥

y

−𝑖𝑖 = sin 𝑥𝑥

Cuando las raíces de la ecuación polinómica 𝑃𝑃(𝑟𝑟) = 0, algunas de las raíces son complejas 𝑟𝑟1 = 𝛼𝛼1 + 𝑖𝑖𝛽𝛽1 ; 𝑟𝑟2 = 𝛼𝛼2 + 𝑖𝑖𝛽𝛽2 ; 𝑟𝑟3 = 𝛼𝛼3 + 𝑖𝑖𝛽𝛽3 Entonces se tiene un sistema de soluciones 𝑒𝑒 𝛼𝛼1𝑥𝑥 cos 𝛽𝛽1 𝑥𝑥 ,

50

𝑒𝑒 𝛼𝛼1 𝑥𝑥 sin 𝛽𝛽1 𝑥𝑥 ; 𝑒𝑒 𝛼𝛼2 𝑥𝑥 cos 𝛽𝛽2 𝑥𝑥 , 𝑒𝑒 𝛼𝛼2𝑥𝑥 sin 𝛽𝛽2 𝑥𝑥 ; ⋯ ; 𝑒𝑒 𝑟𝑟𝑛𝑛 𝑥𝑥


en Ingeniería con sus métodos y aplicaciones

Y una solución general de la forma 𝑦𝑦𝑔𝑔 = 𝐶𝐶1 𝑒𝑒 𝛼𝛼1 𝑥𝑥 cos 𝛽𝛽1 𝑥𝑥 , +𝐶𝐶2 𝑒𝑒 𝛼𝛼1 𝑥𝑥 sin 𝛽𝛽1 𝑥𝑥 + 𝐶𝐶3 𝑒𝑒 𝛼𝛼2𝑥𝑥 cos 𝛽𝛽2 𝑥𝑥 , +𝐶𝐶4 𝑒𝑒 𝛼𝛼2 𝑥𝑥 sin 𝛽𝛽2 𝑥𝑥 + ⋯ + 𝐶𝐶𝑛𝑛 𝑒𝑒 𝑟𝑟𝑛𝑛 𝑥𝑥 Ejemplos ilustrativos:

Resolver las ecuaciones diferenciales: 1.

𝒅𝒅𝟐𝟐 𝒚𝒚 𝒅𝒅𝒙𝒙𝟐𝟐

− 𝟑𝟑

𝒅𝒅𝒅𝒅 𝒅𝒅𝒅𝒅

+ 𝟐𝟐𝟐𝟐 = 𝟎𝟎

𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 − 3𝑟𝑟 + 2 = 0 (𝑟𝑟 − 2)(𝑟𝑟 − 1) = 0 ; 𝑟𝑟2 = 1 𝑟𝑟1 = 2

Sistema de soluciones: 𝑒𝑒 𝑥𝑥 , 𝑒𝑒 2𝑥𝑥

Solución general homogénea: 𝑦𝑦ℎ = 𝐶𝐶1 𝑒𝑒 𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 2𝑥𝑥

Asignando valores a las constantes 𝐶𝐶1 se tienen las siguientes soluciones particulares

; 𝐶𝐶2 = 3 Si 𝐶𝐶1 = 1 Si 𝐶𝐶1 = −1 ; 𝐶𝐶2= − 3

𝑦𝑦ℎ = 𝑒𝑒 𝑥𝑥 + 3𝑒𝑒 2𝑥𝑥 𝑦𝑦ℎ = −𝑒𝑒 𝑥𝑥 − 3𝑒𝑒 2𝑥𝑥

Se grafican estas soluciones particulares utilizando un programa en Matlab. Programa 11: Para graficar soluciones particulares E.D. homogéneas-caso 1 % Definir el intervalo de x x = linspace(-1, 1, 10); % Intervalo de x de -1 a 1 % Definir los valores de C1 y C2 para la primera curva C1_1 = 1; C2_1 = 3; % Definir los valores de C1 y C2 para la segunda curva C1_2 = -1; C2_2 = -3; % Definir la ecuación de la solución homogénea y_h para ambas curvas y_h1 = C1_1 * exp(x) + C2_1 * exp(2 * x); % Primera curva y_h2 = C1_2 * exp(x) + C2_2 * exp(2 * x); % Segunda curva % Graficar la primera función y_h1 figure; plot(x, y_h1, 'b', 'LineWidth', 1.5); hold on; % Graficar la segunda función y_h2 plot(x, y_h2, 'r', 'LineWidth', 1.5);

51


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

% Añadir etiquetas y título xlabel('x'); ylabel('y_h(x)'); title('Solución homogénea: y_h = C_1 e^x + C_2 e^{2x}'); % Añadir leyenda para identificar cada curva legend('C_1=1, C_2=3', 'C_1=-1, C_2=-3'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [min([y_h1, y_h2]), max([y_h1, y_h2])], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off; Figura 11: Solución E.D. orden superior homogénea- caso 1

Fuente: Elaboración propia 2. 𝒚𝒚′′ − 𝟒𝟒𝒚𝒚′ + 𝟒𝟒𝟒𝟒 = 𝟎𝟎

𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 − 4𝑟𝑟 + 4 = 0 (𝑟𝑟 − 2)2 = 0 𝑟𝑟1 = 𝑟𝑟2 = 2

Sistema de soluciones: 𝑒𝑒 2𝑥𝑥 , 𝑥𝑥𝑒𝑒 2𝑥𝑥

Solución general homogénea: 𝑦𝑦ℎ = 𝐶𝐶1 𝑒𝑒 2𝑥𝑥 + 𝐶𝐶2 𝑥𝑥𝑒𝑒 2𝑥𝑥

52


en Ingeniería con sus métodos y aplicaciones

Asignando valores a las constantes C se tienen las siguientes soluciones particulares Si 𝐶𝐶1 = 1 ; 𝐶𝐶2 = 3 Si 𝐶𝐶1 = −1 ; 𝐶𝐶2= − 3

𝑦𝑦ℎ = 𝑒𝑒 2𝑥𝑥 + 3𝑥𝑥𝑒𝑒 2𝑥𝑥 𝑦𝑦ℎ = −𝑒𝑒 2𝑥𝑥 − 3𝑥𝑥𝑒𝑒 2𝑥𝑥

Se grafican estas soluciones particulares utilizando un programa en Matlab. Programa 12: Para graficar soluciones particulares E.D. homogéneas-caso 2 % Definir el intervalo de x x = linspace(-1, 1, 10); % Intervalo de x de -1 a 1 % Definir los valores de C1 y C2 para la primera curva C1_1 = 1; C2_1 = 3; % Definir los valores de C1 y C2 para la segunda curva C1_2 = -1; C2_2 = -3; % Definir la ecuación de la solución homogénea y_h para ambas curvas y_h1 = C1_1 * exp(x) + C2_1 * exp(2 * x); % Primera curva y_h2 = C1_2 * exp(x) + C2_2 * exp(2 * x); % Segunda curva % Graficar la primera función y_h1 figure; plot(x, y_h1, 'b', 'LineWidth', 1.5); hold on; % Graficar la segunda función y_h2 plot(x, y_h2, 'r', 'LineWidth', 1.5); % Añadir etiquetas y título xlabel('x'); ylabel('y_h(x)'); title('Solución homogénea: y_h = C_1 e^x + C_2 e^{2x}'); % Añadir leyenda para identificar cada curva legend('C_1=1, C_2=3', 'C_1=-1, C_2=-3'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [min([y_h1, y_h2]), max([y_h1, y_h2])], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on;

53


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

% Mostrar la gráfica hold off; Figura 12: Solución E.D. orden superior homogénea- caso 2

Fuente: Elaboración propia 3. 𝒚𝒚′′ + 𝒚𝒚 = 𝟎𝟎

𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 + 1 = 0 𝑟𝑟 2 = −1 ; 𝑟𝑟2 = −𝑖𝑖 𝑟𝑟1 = 𝑖𝑖

raíces imaginarias

Sistema de soluciones: cos 𝑥𝑥 , sin 𝑥𝑥

Solución general homogénea: 𝑦𝑦ℎ = 𝐶𝐶1 cos 𝑥𝑥 + 𝐶𝐶2 sin 𝑥𝑥

Asignando valores a las constantes C se tienen las siguientes soluciones particulares Si 𝐶𝐶1 = 1 ; 𝐶𝐶2 = 3 Si 𝐶𝐶1 = −1 ; 𝐶𝐶2= − 3

𝑦𝑦ℎ = 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 + 3𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑦𝑦ℎ = −𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 − 3𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠

Se grafican estas soluciones particulares utilizando un programa en Matlab Programa 13: Para graficar soluciones particulares E.D. homogéneas- caso 3 % Definir el intervalo de x x = linspace(-2*pi, 2*pi, 1000); % Intervalo de x de -2*pi a 2*pi % Definir los valores de C1 y C2 para la primera curva C1_1 = 1; C2_1 = 3; % Definir los valores de C1 y C2 para la segunda curva C1_2 = -1;

54


en Ingeniería con sus métodos y aplicaciones

C2_2 = -3; % Definir la ecuación de la solución homogénea y_h para ambas curvas y_h1 = C1_1 * cos(x) + C2_1 * sin(x); % Primera curva y_h2 = C1_2 * cos(x) + C2_2 * sin(x); % Segunda curva % Graficar la primera función y_h1 figure; plot(x, y_h1, 'b', 'LineWidth', 2); hold on; % Graficar la segunda función y_h2 plot(x, y_h2, 'r', 'LineWidth', 2); % Añadir etiquetas y título xlabel('x'); ylabel('y_h(x)'); title('Solución homogénea: y_h = C_1 cos(x) + C_2 sin(x)'); % Añadir leyenda para identificar cada curva legend('C_1=1, C_2=3', 'C_1=-1, C_2=-3'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 1.5); % Eje x en negro plot([0, 0], [min([y_h1, y_h2]), max([y_h1, y_h2])], 'k', 'LineWidth', 1.5); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off;

55


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 13: Solución E.D. orden superior homogénea- caso 3

Fuente: Elaboración propia 4. 𝒚𝒚′′ + 𝒚𝒚′ + 𝒚𝒚 = 𝟎𝟎

𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 + 𝑟𝑟 + 1 = 0 −1 ± √1 − 4 𝑟𝑟 = 2 −1 ± √−3 𝑟𝑟 = 2 1 𝑖𝑖√3 ; 𝑟𝑟1 = − + 2 2

1 𝑖𝑖√3 𝑟𝑟2 = − − 2 2 𝑥𝑥

Sistema de soluciones: 𝑒𝑒 −2 cos (

𝑥𝑥 √3 √3 𝑥𝑥) , 𝑒𝑒 −2 sin ( 𝑥𝑥) 2 2 𝑥𝑥

Solución general homogénea: 𝑦𝑦ℎ = 𝐶𝐶1 𝑒𝑒 −2 cos (

𝑥𝑥 √3 √3 𝑥𝑥) + 𝐶𝐶2 𝑒𝑒 −2 sin ( 𝑥𝑥) 2 2

Asignando valores a las constantes C se tienen las siguientes soluciones particulares Si 𝐶𝐶1 = 1

; 𝐶𝐶2 = 1

Si 𝐶𝐶1 = −1 ; 𝐶𝐶2= − 1

𝑥𝑥

𝑥𝑥 √3 √3 𝑥𝑥) + 𝑒𝑒 −2 sin ( 𝑥𝑥) 2 2 𝑥𝑥 𝑥𝑥 √3 √3 𝑦𝑦ℎ = −𝑒𝑒 −2 cos ( 𝑥𝑥) − 𝑒𝑒 −2 sin ( 𝑥𝑥) 2 2

𝑦𝑦ℎ = 𝑒𝑒 −2 cos (

Se grafican estas soluciones particulares utilizando un programa en Matlab. Programa 14: Para graficar soluciones particulares E.D. homogéneas-caso 4 % Definir el intervalo de x x = linspace(-5, 10, 1000); % Intervalo de x de 0 a 10

56


en Ingeniería con sus métodos y aplicaciones

% Definir los-------------- valores de C1 y C2 para la primera curva C1_1 = 1; C2_1 = 1; % Definir los valores de C1 y C2 para la segunda curva C1_2 = -1; C2_2 = -1; % Definir la ecuación de la solución homogénea y_h para ambas curvas y_h1 = C1_1 * exp(-x/2) .* cos((sqrt(3)/2) * x) + C2_1 * exp(-x/2) .* sin((sqrt(3)/2) * x); % Primera curva y_h2 = C1_2 * exp(-x/2) .* cos((sqrt(3)/2) * x) + C2_2 * exp(-x/2) .* sin((sqrt(3)/2) * x); % Segunda curva % Graficar la primera función y_h1 figure; plot(x, y_h1, 'b', 'LineWidth', 1.5); hold on; % Graficar la segunda función y_h2 plot(x, y_h2, 'r', 'LineWidth', 1.5); % Añadir etiquetas y título xlabel('x'); ylabel('y_h(x)'); title('Solución homogénea: y_h '); % Añadir leyenda para identificar cada curva legend('C_1=1, C_2=1', 'C_1=-1, C_2=-1'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [min([y_h1, y_h2]), max([y_h1, y_h2])], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off;

57


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 14: Solución E.D. orden superior homogénea- caso 4

Fuente: Elaboración propia

2.2

Ecuaciones diferenciales por el método de los coeficientes indeterminados

El método de los coeficientes indeterminados es una técnica comúnmente utilizada para resolver ecuaciones diferenciales lineales no homogéneas, especialmente cuando la función no homogénea 𝑅𝑅(𝑥𝑥) es un polinomio, una exponencial, una función trigonométrica u otra función elemental fácilmente identificable. Este método se basa en la suposición de una forma particular para la solución no homogénea y la determinación de los coeficientes de esta forma particular mediante sustitución en la ecuación diferencial. 𝑑𝑑 𝑛𝑛 𝑦𝑦 𝑑𝑑𝑛𝑛−1 𝑦𝑦 𝑑𝑑𝑑𝑑 + 𝑎𝑎0 𝑦𝑦 = 𝑅𝑅(𝑥𝑥) 𝑎𝑎𝑛𝑛 𝑛𝑛 + 𝑎𝑎𝑛𝑛−1 𝑛𝑛−1 + ⋯ + 𝑎𝑎1 𝑑𝑑𝑥𝑥 𝑑𝑑𝑥𝑥 𝑑𝑑𝑑𝑑

Donde 𝑅𝑅(𝑥𝑥) es un polinomio en “𝑥𝑥” y 𝑎𝑎𝑛𝑛 , 𝑎𝑎𝑛𝑛−1 , ⋯, 𝑎𝑎1 , 𝑎𝑎0 son constantes reales.

Para obtener la solución general de la ecuación diferencial homogénea se procede así:

1. Se determina la solución general de la ecuación diferencial homogénea 𝑦𝑦ℎ 2. Se busca la solución particular de la ecuación diferencial no homogénea 𝑦𝑦𝑝𝑝 3. La solución se obtiene sumando las dos soluciones 𝑦𝑦 = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝

58


en Ingeniería con sus métodos y aplicaciones

Métodos de solución Primer caso Cuando el segundo miembro de la ecuación diferencial no homogénea es de la forma 𝑅𝑅(𝑥𝑥) = 𝑃𝑃𝑛𝑛 (𝑥𝑥)

a. Si 𝑟𝑟 ≠ 0 no es raíz de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es 𝑦𝑦𝑝𝑝 = 𝑃𝑃̃𝑛𝑛 (𝑥𝑥) b. Si 𝑟𝑟 = 0; es raíz de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es 𝑦𝑦𝑝𝑝 = 𝑥𝑥 𝑆𝑆 𝑃𝑃̃𝑛𝑛 (𝑥𝑥) Donde “𝑆𝑆” es la multiplicidad de 𝑟𝑟 = 0

Ejemplo ilustrativo:

Resolver la ecuación diferencial 𝒚𝒚′′ − 𝟐𝟐𝒚𝒚′ − 𝟏𝟏𝟏𝟏𝟏𝟏 = −(𝟏𝟏𝟏𝟏𝒙𝒙𝟐𝟐 + 𝟒𝟒𝟒𝟒 + 𝟏𝟏𝟏𝟏)

Solución a la ecuación diferencial homogénea 𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 − 2𝑟𝑟 − 15 = 0 (𝑟𝑟 − 5)(𝑟𝑟 + 3) = 0 𝑟𝑟1 = −3

;

𝑟𝑟2 = 5

Sistema de soluciones: 𝑒𝑒 −3𝑥𝑥 , 𝑒𝑒 5𝑥𝑥

Solución homogénea: 𝑦𝑦ℎ = 𝐶𝐶1 𝑒𝑒 −3𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 5𝑥𝑥

Solución a la ecuación diferencial no homogénea Subcaso a (𝑟𝑟 ≠ 0)

𝑦𝑦𝑝𝑝 = 𝑃𝑃̃𝑛𝑛 (𝑥𝑥)

𝑦𝑦𝑝𝑝 = 𝐴𝐴𝑥𝑥 2 + 𝐵𝐵𝐵𝐵 + 𝐶𝐶

𝑦𝑦𝑝𝑝′ = 2𝐴𝐴𝐴𝐴 + 𝐵𝐵 𝑦𝑦𝑝𝑝′′ = 2𝐴𝐴

Reemplazar en la ecuación diferencial inicial 2𝐴𝐴 − 2(2𝐴𝐴𝐴𝐴 + 𝐵𝐵) − 15(𝐴𝐴𝑥𝑥 2 + 𝐵𝐵𝐵𝐵 + 𝐶𝐶) = −(15𝑥𝑥 2 + 4𝑥𝑥 + 13)

2𝐴𝐴 − 4𝐴𝐴𝐴𝐴 − 2𝐵𝐵 − 15𝐴𝐴𝑥𝑥 2 − 15𝐵𝐵𝐵𝐵 − 15𝐶𝐶 = −15𝑥𝑥 2 − 4𝑥𝑥 − 13

−15𝐴𝐴𝑥𝑥 2 − 4𝐴𝐴𝐴𝐴 − 15𝐵𝐵𝐵𝐵 + 2𝐴𝐴 − 2𝐵𝐵 − 15𝐶𝐶 = −15𝑥𝑥 2 − 4𝑥𝑥 − 13

−15𝐴𝐴𝑥𝑥 2 + (−4𝐴𝐴 − 15𝐵𝐵)𝑥𝑥 + 2𝐴𝐴 − 2𝐵𝐵 − 15𝐶𝐶 = −15𝑥𝑥 2 − 4𝑥𝑥 − 13

−15𝐴𝐴 = −15 { −4𝐴𝐴 − 15𝐵𝐵 = −4 2𝐴𝐴 − 2𝐵𝐵 − 15𝐶𝐶 = −13

59


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝐴𝐴 =

−15 =1 −15

−4(1) − 15𝐵𝐵 = −4 , 𝐵𝐵 = 0

2𝑥𝑥1 − 2𝑥𝑥0 − 15𝐶𝐶 = −13 , 𝐶𝐶 = 1

𝑦𝑦𝑝𝑝 = 𝑥𝑥 2 + 1

Solución total: 𝑦𝑦 = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝

𝑦𝑦 = 𝐶𝐶1 𝑒𝑒 −3𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 5𝑥𝑥 + 𝑥𝑥 2 + 1

Solución general: 𝑦𝑦 = 𝐶𝐶1 𝑒𝑒 −3𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 5𝑥𝑥 + 𝑥𝑥 2 + 1

Asignando valores a las constantes C se tiene la siguiente solución particular Si 𝐶𝐶1 = 0

; 𝐶𝐶2 = 1

𝑦𝑦ℎ = 𝑒𝑒 5𝑥𝑥 + 𝑥𝑥 2 + 1

Se grafica esta solución particular utilizando un programa en Matlab. Programa 15: Para graficar soluciones particulares E.D. no homogéneas-caso 1 % Definir el intervalo de x x = linspace(-4, 0.5, 1000); % Intervalo de x de -1 a 1 % Definir los valores de C1 y C2 C1 = 0; C2 = 1; % Definir la ecuación de la solución general y y = C1 * exp(-3 * x) + C2 * exp(5 * x) + x.^2 + 1; % Función con C1=0 y C2=1 % Graficar la función y figure; plot(x, y, 'b', 'LineWidth', 1.5); hold on; % Añadir etiquetas y título xlabel('x'); ylabel('y(x)'); title('Solución general: y = C_1 e^{-3x} + C_2 e^{5x} + x^2 + 1, con C_1=0 y C_2=1'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [0, max(y)], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off;

60


en Ingeniería con sus métodos y aplicaciones

Figura 15: Solución E.D. orden superior no homogénea- caso 1

Fuente: Elaboración propia

Segundo caso Cuando el segundo miembro de la ecuación diferencial no homogénea es de la forma 𝑅𝑅(𝑥𝑥) = 𝑒𝑒 𝛼𝛼𝛼𝛼 𝑃𝑃𝑛𝑛 (𝑥𝑥)

a. Si 𝑟𝑟 ≠ 𝛼𝛼 no es raíz de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es 𝑦𝑦𝑝𝑝 = 𝑒𝑒 𝛼𝛼𝛼𝛼 𝑃𝑃̃𝑛𝑛 (𝑥𝑥) b. Si 𝑟𝑟 = 0 es raíz de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es 𝑦𝑦𝑝𝑝 = 𝑥𝑥 𝑆𝑆 𝑒𝑒 𝛼𝛼𝛼𝛼 𝑃𝑃̃𝑛𝑛 (𝑥𝑥) Donde “𝑆𝑆” es la multiplicidad de 𝑟𝑟 = 𝛼𝛼 Ejemplo ilustrativo:

Resolver la ecuación diferencial 𝒚𝒚′′ − 𝟒𝟒𝒚𝒚′ = 𝒙𝒙𝒆𝒆𝟒𝟒𝟒𝟒

𝑦𝑦 ′′ − 4𝑦𝑦 ′ = 𝑥𝑥𝑒𝑒 4𝑥𝑥

=>

𝛼𝛼 = 4

Solución a la ecuación diferencial homogénea 𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 − 4𝑟𝑟 = 0

𝑟𝑟(𝑟𝑟 − 4) = 0 𝑟𝑟1 = 0

;

𝑟𝑟2 = 4

Sistema de soluciones: 𝑒𝑒 0𝑥𝑥 , 𝑒𝑒 4𝑥𝑥

Solución general: 𝑦𝑦𝑔𝑔 = 𝐶𝐶1 + 𝐶𝐶2 𝑒𝑒 4𝑥𝑥 61


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Solución a la ecuación diferencial no homogénea Subcaso b (𝑟𝑟 = 𝛼𝛼)

𝑦𝑦𝑝𝑝 = 𝑥𝑥 𝑆𝑆 𝑒𝑒 𝛼𝛼𝛼𝛼 𝑃𝑃̃𝑛𝑛 (𝑥𝑥)

𝑦𝑦𝑝𝑝 = 𝑥𝑥 1 𝑒𝑒 4𝑥𝑥 (𝐴𝐴𝐴𝐴 + 𝐵𝐵)

𝑦𝑦𝑝𝑝 = 𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵

𝑦𝑦𝑝𝑝′ = 4𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 4𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 + 𝑒𝑒 4𝑥𝑥 𝐵𝐵

𝑦𝑦𝑝𝑝′′ = 16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 8𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 8𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴 + 16𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 + 4𝑒𝑒 4𝑥𝑥 𝐵𝐵 + 4𝑒𝑒 4𝑥𝑥 𝐵𝐵 𝑦𝑦𝑝𝑝′′ = 16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴 + 16𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 + 8𝑒𝑒 4𝑥𝑥 𝐵𝐵

Reemplazar en la ecuación diferencial inicial

16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴 + 16𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 + 8𝑒𝑒 4𝑥𝑥 𝐵𝐵 − 4(4𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 4𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 + 𝑒𝑒 4𝑥𝑥 𝐵𝐵) = 𝑥𝑥𝑒𝑒 4𝑥𝑥

16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 + 16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴 + 16𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 + 8𝑒𝑒 4𝑥𝑥 𝐵𝐵 − 16𝑒𝑒 4𝑥𝑥 𝐴𝐴𝑥𝑥 2 − 8𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 − 16𝑒𝑒 4𝑥𝑥 𝐵𝐵𝐵𝐵 − 4𝑒𝑒 4𝑥𝑥 𝐵𝐵 = 𝑥𝑥𝑒𝑒 4𝑥𝑥

8𝑒𝑒 4𝑥𝑥 𝐴𝐴𝐴𝐴 + 2𝑒𝑒 4𝑥𝑥 𝐴𝐴 + 4𝑒𝑒 4𝑥𝑥 𝐵𝐵 = 𝑥𝑥𝑒𝑒 4𝑥𝑥

8𝐴𝐴 = 1 { 2𝐴𝐴 + 4𝐵𝐵 = 0

𝐴𝐴 =

1 8

1 2 ( ) + 4𝐵𝐵 = 0 8 1 + 4𝐵𝐵 = 0 4

4𝐵𝐵 = −

𝐵𝐵 = −

1 4

1 16

1 1 𝑦𝑦𝑝𝑝 = 𝑥𝑥𝑒𝑒 4𝑥𝑥 ( 𝑥𝑥 − ) 8 16 Solución total: 𝑦𝑦 = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝

1 1 𝑦𝑦 = 𝐶𝐶1 + 𝐶𝐶2 𝑒𝑒 4𝑥𝑥 + 𝑥𝑥𝑒𝑒 4𝑥𝑥 ( 𝑥𝑥 − ) 8 16

1

Solución general: 𝑦𝑦 = 𝐶𝐶1 + 𝐶𝐶2 𝑒𝑒 4𝑥𝑥 + 𝑥𝑥𝑒𝑒 4𝑥𝑥 ( 𝑥𝑥 − 8

1

16

)

Asignando valores a las constantes C se tiene la siguiente solución particular Si 𝐶𝐶1 = 1

; 𝐶𝐶2 = 3

1

𝑦𝑦ℎ = 1 + 3𝑒𝑒 4𝑥𝑥 + 𝑥𝑥𝑒𝑒 4𝑥𝑥 ( 𝑥𝑥 − 8

1

16

)

Se grafica esta solución particular utilizando un programa en Matlab.

62


en Ingeniería con sus métodos y aplicaciones

Programa 16: Para graficar soluciones particulares E.D. no homogéneas-caso 2 % Definir el intervalo de x x = linspace(-5, 0.1, 1000); % Intervalo de x de -1 a 1 % Definir los valores de C1 y C2 C1 = 1; C2 = 3; % Definir la ecuación de la solución general y y = C1 + C2 * exp(4 * x) + x .* exp(4 * x) .* (x / 8 - 1 / 16); % Función con C1=1 y C2=3 % Graficar la función y figure; plot(x, y, 'b', 'LineWidth', 1.5); hold on; % Añadir etiquetas y título xlabel('x'); ylabel('y(x)'); title('Solución general: y = C_1 + C_2 e^{4x} + x e^{4x} (x/8 - 1/16), con C_1=1 y C_2=3'); % Graficar los ejes x e y con colores diferentes plot([min(x), 1], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [0, max(y)], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off;

63


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 16: Solución E.D. orden superior no homogénea- caso 2

Fuente: Elaboración propia

Tercer caso Cuando el segundo miembro de la ecuación diferencial no homogénea es de la forma 𝑅𝑅(𝑥𝑥) = 𝑃𝑃𝑛𝑛 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄𝑛𝑛 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽

a. Si 𝑟𝑟 ≠ ± 𝑖𝑖𝑖𝑖 no son raíces de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es ̃𝑘𝑘 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽 ̃𝑘𝑘 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄 𝑦𝑦𝑝𝑝 = 𝑃𝑃 b. Si 𝑟𝑟 = ± 𝑖𝑖𝛽𝛽 son raíces de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es ̃𝑘𝑘 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽] ̃𝑘𝑘 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄 𝑦𝑦𝑝𝑝 = 𝑥𝑥 𝑆𝑆 [𝑃𝑃 Donde “𝑆𝑆” es la multiplicidad de 𝑟𝑟 = ± 𝑖𝑖𝑖𝑖

Ejemplo ilustrativo 𝒚𝒚′′ + 𝒚𝒚 = 𝐬𝐬𝐬𝐬𝐬𝐬 𝒙𝒙 − 𝐜𝐜𝐜𝐜𝐜𝐜 𝒙𝒙

=>

𝜷𝜷 = ± 𝒊𝒊

Solución a la ecuación diferencial homogénea 𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 + 1 = 0

𝑟𝑟 2 = −1 𝑟𝑟1 = 𝑖𝑖

;

𝑟𝑟2 = −𝑖𝑖

Sistema de soluciones: cos 𝑥𝑥 , sin 𝑥𝑥 64


en Ingeniería con sus métodos y aplicaciones

Solución homogénea: 𝑦𝑦ℎ = 𝐶𝐶1 cos 𝑥𝑥 + 𝐶𝐶2 sin 𝑥𝑥

Solución a la ecuación diferencial no homogénea Subcaso b (𝑟𝑟 = ± 𝑖𝑖𝑖𝑖)

̃𝑘𝑘 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽] ̃𝑘𝑘 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄 𝑦𝑦𝑝𝑝 = 𝑥𝑥 𝑆𝑆 [𝑃𝑃 𝑦𝑦𝑝𝑝 = 𝑥𝑥 1 [(𝐴𝐴) cos 𝑥𝑥 + (𝐵𝐵) sin 𝑥𝑥]

𝑦𝑦𝑝𝑝 = 𝐴𝐴𝐴𝐴 cos 𝑥𝑥 + 𝐵𝐵𝐵𝐵 sin 𝑥𝑥

𝑦𝑦𝑝𝑝′ = 𝐴𝐴 cos 𝑥𝑥 − 𝐴𝐴𝐴𝐴 sin 𝑥𝑥 + 𝐵𝐵 sin 𝑥𝑥 + 𝐵𝐵𝑥𝑥 cos 𝑥𝑥

𝑦𝑦𝑝𝑝′′ = −𝐴𝐴 sin 𝑥𝑥 − 𝐴𝐴 sin 𝑥𝑥 − 𝐴𝐴𝐴𝐴 cos 𝑥𝑥 + 𝐵𝐵 cos 𝑥𝑥 + 𝐵𝐵 cos 𝑥𝑥 − 𝐵𝐵𝐵𝐵 sin 𝑥𝑥

𝑦𝑦𝑝𝑝′′ = −2𝐴𝐴 sin 𝑥𝑥 − 𝐴𝐴𝐴𝐴 cos 𝑥𝑥 + 2𝐵𝐵 cos 𝑥𝑥 − 𝐵𝐵𝐵𝐵 sin 𝑥𝑥 Reemplazar en la ecuación diferencial inicial

−2𝐴𝐴 sin 𝑥𝑥 − 𝐴𝐴𝐴𝐴 cos 𝑥𝑥 + 2𝐵𝐵 cos 𝑥𝑥 − 𝐵𝐵𝐵𝐵 sin 𝑥𝑥 + 𝐴𝐴𝑥𝑥 cos 𝑥𝑥 + 𝐵𝐵𝐵𝐵 sin 𝑥𝑥 = sin 𝑥𝑥 − cos 𝑥𝑥 −2𝐴𝐴 sin 𝑥𝑥 + 2𝐵𝐵 cos 𝑥𝑥 = sin 𝑥𝑥 − cos 𝑥𝑥

Se forma el sistema de ecuaciones: −2𝐴𝐴 = 1 { 2𝐵𝐵 = −1 𝐴𝐴 =

−1 2

1

; 𝐵𝐵 =

−1 2

1

𝑦𝑦𝑝𝑝 = − 𝑥𝑥 cos 𝑥𝑥 − 𝑥𝑥 sin 𝑥𝑥 2

Solución total

2

𝑦𝑦 = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝

solución particular

1

1

Solución general: 𝑦𝑦 = 𝐶𝐶1 cos 𝑥𝑥 + 𝐶𝐶2 sin 𝑥𝑥 − 𝑥𝑥 cos 𝑥𝑥 − 𝑥𝑥 sin 𝑥𝑥 2

2

Asignando valores a las constantes C se tiene la siguiente solución particular Si 𝐶𝐶1 = 1

; 𝐶𝐶2 = 1

1

1

𝑦𝑦ℎ = cos 𝑥𝑥 + sin 𝑥𝑥 − 𝑥𝑥 cos 𝑥𝑥 − 𝑥𝑥 sin 𝑥𝑥 2

2

Se grafica esta solución particular utilizando un programa en Matlab. Programa 17: Para graficar soluciones particulares E.D. no homogéneas-caso 3 % Definir el intervalo de x x = linspace(-2*pi, 2*pi, 1000); % Intervalo de x de -2*pi a 2*pi % Definir los valores de C1 y C2 C1 = 1; C2 = 1; % Definir la ecuación de la solución general y y = C1 * cos(x) + C2 * sin(x) - (x .* cos(x)) / 2 - (x .* sin(x)) / 2;

65


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

% Graficar la función y figure; plot(x, y, 'b', 'LineWidth', 1.5); hold on; % Añadir etiquetas y título xlabel('x'); ylabel('y(x)'); title('Sol general: y = C_1 cos(x) + C_2 sin(x) - x cos(x)/2 - x sin(x)/2, con C_1=1 y C_2=1'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [min(y), max(y)], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off; Figura 17: Solución E.D. orden superior no homogénea- caso 3

Fuente: Elaboración propia

Cuarto caso Cuando el segundo miembro de la ecuación diferencial no homogénea es de la forma 𝑅𝑅(𝑥𝑥) = 𝑒𝑒 𝛼𝛼𝛼𝛼 [𝑃𝑃𝑛𝑛 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄𝑚𝑚 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽]

Donde 𝑃𝑃𝑛𝑛 (𝑥𝑥) y 𝑄𝑄𝑚𝑚 (𝑥𝑥) son funciones polinómicas de grado “𝑛𝑛” y “𝑚𝑚” respectivamente 66


en Ingeniería con sus métodos y aplicaciones

a. Si 𝑟𝑟 ≠ 𝛼𝛼 ± 𝑖𝑖𝑖𝑖 no son raíces de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es ̃𝑘𝑘 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽] ̃𝑘𝑘 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄 𝑦𝑦𝑝𝑝 = 𝑒𝑒 𝛼𝛼𝛼𝛼 [𝑃𝑃 b. Si 𝑟𝑟 = 𝛼𝛼 ± 𝑖𝑖𝑖𝑖 son raíces de la ecuación característica 𝑃𝑃(𝑟𝑟) = 0 entonces la solución particular es ̃𝑘𝑘 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽] ̃𝑘𝑘 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄 𝑦𝑦𝑝𝑝 = 𝑥𝑥 𝑆𝑆 𝑒𝑒 𝛼𝛼𝛼𝛼 [𝑃𝑃 Donde “𝑆𝑆” es la multiplicidad de 𝑟𝑟 = 𝛼𝛼 ± 𝑖𝑖𝑖𝑖 Ejemplo ilustrativo:

Resolver la ecuación diferencial 4𝑦𝑦 ′′ − 5𝑦𝑦 ′ + 𝑦𝑦 = 𝑒𝑒 𝑥𝑥 (sin 2𝑥𝑥 − cos 2𝑥𝑥) 4𝑦𝑦 ′′ − 5𝑦𝑦 ′ + 𝑦𝑦 = 𝑒𝑒 𝑥𝑥 (sin 2𝑥𝑥 − cos 2𝑥𝑥)

=>

Solución a la ecuación diferencial homogénea

𝛼𝛼 = 1

=>

𝛽𝛽 = ±2𝑖𝑖

𝑃𝑃(𝑟𝑟) = 4𝑟𝑟2 − 5𝑟𝑟 + 1 = 0

(4𝑟𝑟 − 1)(𝑟𝑟 − 1) = 0 𝑟𝑟1 =

1 4

;

𝑟𝑟2 = 1

𝑥𝑥

Sistema de soluciones: 𝑒𝑒 ⁄4 , 𝑒𝑒 𝑥𝑥

𝑥𝑥

Solución homogenea: 𝑦𝑦ℎ = 𝐶𝐶1 𝑒𝑒 ⁄4 + 𝐶𝐶2 𝑒𝑒 𝑥𝑥

Solución a la ecuación diferencial no homogénea Subcaso a (𝑟𝑟 ≠ 𝛼𝛼 ± 𝑖𝑖𝑖𝑖)

̃𝑘𝑘 (𝑥𝑥) sin 𝛽𝛽𝛽𝛽] ̃𝑘𝑘 (𝑥𝑥) cos 𝛽𝛽𝛽𝛽 + 𝑄𝑄 𝑦𝑦𝑝𝑝 = 𝑒𝑒 𝛼𝛼𝛼𝛼 [𝑃𝑃 𝑦𝑦𝑝𝑝 = 𝑒𝑒 𝑥𝑥 [(𝐴𝐴) cos 2𝑥𝑥 + (𝐵𝐵) sin 2𝑥𝑥]

𝑦𝑦𝑝𝑝 = 𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥

𝑦𝑦𝑝𝑝′ = 𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 2𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 2𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥

𝑦𝑦𝑝𝑝′′ = 𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 2𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 2𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 4𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 2𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 2𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 4𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥

𝑦𝑦𝑝𝑝′′ = −3𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 4𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 3𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 4𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥

Reemplazar en la ecuación diferencial inicial

4(−3𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 4𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 3𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 4𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥) − 5(𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 2𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 2𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥) + 𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 = 𝑒𝑒 𝑥𝑥 (sin 2𝑥𝑥 − cos 2𝑥𝑥)

−12𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 16𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 12𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 + 16𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 − 5𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 10𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 5𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 10𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 = 𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 −6𝐴𝐴𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 16𝐵𝐵𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 16𝐴𝐴𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 + 6𝐵𝐵𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥 = 𝑒𝑒 𝑥𝑥 sin 2𝑥𝑥 − 𝑒𝑒 𝑥𝑥 cos 2𝑥𝑥

3(−6𝐴𝐴 − 16𝐵𝐵 = 1) 8(−16𝐴𝐴 + 6𝐵𝐵 = −1)

−6𝐴𝐴 − 16𝐵𝐵 = 1 { −16𝐴𝐴 + 6𝐵𝐵 = −1

67


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

−18𝐴𝐴 − 48𝐵𝐵 = 3 −128𝐴𝐴 + 48𝐵𝐵 = −8 ̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅​̅ −146𝐴𝐴 + 0 = −5 𝐴𝐴 =

5 146

−16 ( −

5 ) + 6𝐵𝐵 = −1 146

40 + 6𝐵𝐵 = −1 73

6𝐵𝐵 = −

33 ; 73

𝐵𝐵 =

−11 146

Solución total: 𝑦𝑦 = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝 𝑥𝑥

Solución: 𝑦𝑦 = 𝐶𝐶1 𝑒𝑒 ⁄4 + 𝐶𝐶2 𝑒𝑒 𝑥𝑥 + 𝑒𝑒 𝑥𝑥 (

5

146

cos 2𝑥𝑥 −

11

146

sin 2𝑥𝑥)

Asignando valores a las constantes C se tiene la siguiente solución particular Si 𝐶𝐶1 = 1 Si 𝐶𝐶1 = 2

; 𝐶𝐶2 = 1

; 𝐶𝐶2 = −1

𝑥𝑥

𝑦𝑦ℎ = 𝑒𝑒 ⁄4 + 𝑒𝑒 𝑥𝑥 + 𝑒𝑒 𝑥𝑥 (

5

cos 2𝑥𝑥 −

11

sin 2𝑥𝑥)

146 146 𝑥𝑥⁄ 5 11 𝑥𝑥 𝑥𝑥 4 𝑦𝑦ℎ = 2𝑒𝑒 − 𝑒𝑒 + 𝑒𝑒 ( cos 2𝑥𝑥 − sin 2𝑥𝑥) 146 146

Se grafican estas soluciones particulares utilizando un programa en Matlab. Programa 18: Para graficar soluciones particulares E.D. no homogéneas- caso 4 % Definir el intervalo de x x = linspace(-10, 2, 1000); % Intervalo de x de -2 a 2 % Definir los valores de C1 y C2 para la primera curva C1_1 = 1; C2_1 = 1; % Definir los valores de C1 y C2 para la segunda curva C1_2 = 2; C2_2 = -1; % Definir la ecuación de la solución general para ambas curvas y1 = C1_1 * exp(x / 4) + C2_1 * exp(x) + (exp(x) .* (5 * cos(2 * x) - 11 * sin(2 * x))) / 146; % Primera curva y2 = C1_2 * exp(x / 4) + C2_2 * exp(x) + (exp(x) .* (5 * cos(2 * x) - 11 * sin(2 * x))) / 146; % Segunda curva % Graficar la primera función y1 figure; plot(x, y1, 'b', 'LineWidth', 1.5); hold on; % Graficar la segunda función y2 plot(x, y2, 'r', 'LineWidth', 1.5); % Añadir etiquetas y título xlabel('x'); ylabel('y(x)'); title('Solución general: y ');

68


en Ingeniería con sus métodos y aplicaciones

% Añadir leyenda para identificar cada curva legend('C_1=1, C_2=1', 'C_1=2, C_2=-1'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [min([y1, y2]), max([y1, y2])], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off; Figura 18: Solución E.D. orden superior no homogénea- caso 4

Fuente: Elaboración propia

2.3 Ecuaciones diferenciales por el método de variación de parámetros El método de variación de parámetros es una técnica utilizada para resolver ecuaciones diferenciales lineales de orden 𝑛𝑛 no homogéneas con coeficientes constantes. Este método es particularmente útil cuando se conoce la solución general de la ecuación homogénea asociada y se desea encontrar una solución particular para la ecuación no homogénea. Para ilustrar este método, consideremos una ecuación diferencial lineal de orden 𝑛𝑛 con coeficientes constantes y término no homogéneo: 𝑎𝑎𝑛𝑛

𝑑𝑑 𝑛𝑛 𝑦𝑦 𝑑𝑑 𝑛𝑛−1 𝑦𝑦 𝑑𝑑𝑑𝑑 + 𝑎𝑎 + ⋯ + 𝑎𝑎1 + 𝑎𝑎0 𝑦𝑦 = 𝑅𝑅(𝑥𝑥) 𝑛𝑛−1 𝑛𝑛 𝑛𝑛−1 𝑑𝑑𝑥𝑥 𝑑𝑑𝑥𝑥 𝑑𝑑𝑑𝑑

Donde 𝑎𝑎0 , 𝑎𝑎1 , … , 𝑎𝑎𝑛𝑛 son constantes reales o complejas y R(x) es una función conocida. Supongamos que 𝑦𝑦1 (𝑥𝑥), 𝑦𝑦1 (𝑥𝑥), … , 𝑦𝑦𝑛𝑛 (𝑥𝑥) son soluciones linealmente independientes de la ecuación homogénea asociada: 69


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝑎𝑎𝑛𝑛

𝑑𝑑𝑛𝑛 𝑦𝑦 𝑑𝑑𝑛𝑛−1 𝑦𝑦 𝑑𝑑𝑑𝑑 + 𝑎𝑎 + ⋯ + 𝑎𝑎1 + 𝑎𝑎0 𝑦𝑦 = 0 𝑛𝑛−1 𝑛𝑛 𝑛𝑛−1 𝑑𝑑𝑥𝑥 𝑑𝑑𝑥𝑥 𝑑𝑑𝑑𝑑

El método de variación de parámetros propone encontrar una solución particular de la ecuación no homogénea de la forma: 𝑦𝑦𝑝𝑝 (𝑥𝑥) = 𝑢𝑢1 (𝑥𝑥)𝑦𝑦1 (𝑥𝑥) + 𝑢𝑢2 (𝑥𝑥)𝑦𝑦2 (𝑥𝑥) + ⋯ + 𝑢𝑢𝑛𝑛 (𝑥𝑥)𝑦𝑦𝑛𝑛 (𝑥𝑥)

Donde 𝑢𝑢1 (𝑥𝑥), 𝑢𝑢2 (𝑥𝑥), … , 𝑢𝑢𝑛𝑛 (𝑥𝑥), podemos utilizar el método de los coeficientes indeterminados o el método de sustitución. Al sustituir 𝑦𝑦𝑝𝑝 (𝑥𝑥) y sus derivadas en la ecuación diferencial original, se puede obtener un sistema de ecuaciones diferenciales lineales para las funciones 𝑢𝑢𝑖𝑖 (𝑥𝑥)

Dado que la ecuación diferencial es de segundo orden, se toman hasta la primera derivada de 𝑦𝑦𝑝𝑝 en base al siguiente sistema de ecuaciones. 𝑢𝑢′1 𝑦𝑦1 + 𝑢𝑢′2 𝑦𝑦2 = 0

𝑢𝑢′1 𝑦𝑦′1 + 𝑢𝑢′2 𝑦𝑦′2 = 𝑅𝑅(𝑥𝑥)

Ejemplo ilustrativo:

Resolver la siguiente ecuación diferencial

𝒚𝒚′′ − 𝒚𝒚 = 𝒄𝒄𝒄𝒄𝒄𝒄 (𝒙𝒙)

Primero, se encuentra la solución de la ecuación homogénea asociada:

En este caso, la ecuación característica es:

𝑦𝑦 ′′ − 𝑦𝑦 = 0 𝑟𝑟 2 − 1 = 0

Para resolver esta ecuación cuadrática, se observa que es un trinomio cuadrado perfecto por lo que. r(𝑟𝑟 − 1)(𝑟𝑟 + 1)=0

Por lo que las raíces son: 𝑟𝑟1 = 1

𝑦𝑦

𝑟𝑟2 = −1

Por lo tanto, la solución general de la ecuación diferencial homogénea es:

Reemplazando 𝑟𝑟 = 1 tenemos

𝑦𝑦ℎ (𝑥𝑥) = 𝐶𝐶1 𝑒𝑒 𝑟𝑟𝑟𝑟 + 𝐶𝐶2 𝑥𝑥 𝑒𝑒 𝑟𝑟𝑟𝑟

𝑦𝑦ℎ (𝑥𝑥) = 𝐶𝐶1 𝑒𝑒 𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 −𝑥𝑥

Donde 𝐶𝐶1 y 𝐶𝐶2 son constantes arbitrarias que deben determinarse a partir de las condiciones iniciales del problema.

Ahora, se necesita encontrar una solución particular de la ecuación no homogénea utilizando el método de variación de parámetros. Se supone que la solución particular tiene la forma: 𝑦𝑦𝑝𝑝 = 𝑢𝑢1 𝑒𝑒 𝑥𝑥 + 𝑢𝑢2 𝑒𝑒 −𝑥𝑥

Donde 𝑢𝑢1 y 𝑢𝑢2 son funciones que aún deben ser determinadas.

Dado que la ecuación diferencial es de segundo orden, se toman hasta la primera derivadas de 𝑦𝑦𝑝𝑝 en base al siguiente sistema de ecuaciones. 𝑢𝑢′1 𝑦𝑦1 + 𝑢𝑢′2 𝑦𝑦2 = 0

𝑢𝑢′1 𝑦𝑦′1 + 𝑢𝑢′2 𝑦𝑦′2 = 𝑅𝑅 (𝑥𝑥) 70


en Ingeniería con sus métodos y aplicaciones

Quedando el sistema de la siguiente forma. 𝑢𝑢′1 𝑒𝑒 𝑥𝑥 + 𝑢𝑢′2 𝑒𝑒 −𝑥𝑥 = 0

𝑢𝑢′1 𝑒𝑒 𝑥𝑥 − 𝑢𝑢′ 2 𝑒𝑒 −𝑥𝑥 = 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)

Sumando las dos ecuaciones resulta 2𝑢𝑢′1 𝑒𝑒 𝑥𝑥 = 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) 𝑢𝑢′1 =

𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) 1 = 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)𝑒𝑒 −𝑥𝑥 2𝑒𝑒 𝑥𝑥 2

De la primera ecuación del sistema resulta 𝑢𝑢′2 𝑒𝑒 −𝑥𝑥 = − 𝑢𝑢′1 𝑒𝑒 𝑥𝑥 Reemplazando 𝑢𝑢′1 resulta 𝑢𝑢′2 = −

1 2

− 𝑢𝑢′1 𝑒𝑒 𝑥𝑥

𝑢𝑢′2 =

𝑒𝑒 −𝑥𝑥

𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)𝑒𝑒 −𝑥𝑥 𝑒𝑒 2𝑥𝑥 = −

Para encontrar 𝑢𝑢1 , 𝑢𝑢2 procedemos a integrar Integrando por partes resulta 𝑢𝑢1 =

1 4

= − 𝑢𝑢′1 𝑒𝑒 2𝑥𝑥

𝑢𝑢1 = ∫

1 2

𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)𝑒𝑒 𝑥𝑥

1 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)𝑒𝑒 −𝑥𝑥 𝑑𝑑𝑥𝑥 2

𝑒𝑒 −𝑥𝑥 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥) 1

𝑢𝑢2 = − ∫

1 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑 2

Integrando por partes resulta 𝑢𝑢2 = − 𝑒𝑒 𝑥𝑥 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥) 4

Por lo que reemplazando el: 1

1

𝑦𝑦𝑝𝑝 = [ 𝑒𝑒 −𝑥𝑥 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)] 𝑒𝑒 𝑥𝑥 + [− 𝑒𝑒 𝑥𝑥 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 −𝑥𝑥 ] 𝑒𝑒 −𝑥𝑥 4

Simplificando tenemos: 𝑦𝑦𝑝𝑝 = −

1 2

La solución total es: y = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝

4

𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 −𝑥𝑥

y = 𝐶𝐶1 𝑒𝑒 𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 −𝑥𝑥 −

1 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 𝑥𝑥 + 𝑠𝑠𝑠𝑠𝑠𝑠 (𝑥𝑥)𝑒𝑒 −𝑥𝑥 2

Reemplazando las condiciones iniciales tenemos x=0, y=0 resulta: 1 = 𝐶𝐶1 + 𝐶𝐶2 2

De la otra condición inicial resulta:

Resolviendo el sistema tenemos que 𝐶𝐶1 = − Por lo tanto, la solución total particular es: y= −

1 = 𝐶𝐶1 − 𝐶𝐶2 1 4

y

𝐶𝐶2 =

3 4

1 𝑥𝑥 3 −𝑥𝑥 1 𝑒𝑒 + 𝑒𝑒 − 𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥) 4 2 41

Se grafica esta solución particular utilizando un programa en Matlab

71


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Programa 19: Para graficar soluciones particulares E.D. no homogénea por variación de parámetros. % Definir el intervalo de x x = linspace(-1, 2, 1000); % Intervalo de x de -5 a 5 % Definir la ecuación de la solución general y y = (-exp(x) / 4) + (3 * exp(-x) / 4) - cos(x) / 2; % Graficar la función y figure; plot(x, y, 'b', 'LineWidth', 1.5); hold on; % Añadir etiquetas y título xlabel('x'); ylabel('y(x)'); title('Solución particular: y'); % Graficar los ejes x e y con colores diferentes plot([min(x), max(x)], [0, 0], 'k', 'LineWidth', 2); % Eje x en negro plot([0, 0], [min(y), max(y)], 'k', 'LineWidth', 2); % Eje y en negro % Mostrar la cuadrícula grid on; % Mostrar la gráfica hold off; Figura 19: Solución E.D. orden superior no homogénea- variación de parámetros

Fuente: Elaboración propia

72


en Ingeniería con sus métodos y aplicaciones

2.4 Ecuaciones diferenciales lineales con coeficientes constantes utilizando transformaciones de Laplace La fundamentación teórica del método de transformadas de Laplace para resolver ecuaciones diferenciales lineales con coeficientes constantes se basa en el concepto de transformadas integrales y en las propiedades de la transformada de Laplace en particular. Que se indica a continuación. •

Transformada de Laplace: es una técnica matemática que transforma una función de una variable (generalmente una función de tiempo) en una función de una variable compleja. La transformada de Laplace de una función 𝑓𝑓(𝑡𝑡) y se define como: ∞

𝐹𝐹(𝑠𝑠) = ℒ{ 𝑓𝑓(𝑡𝑡)}= ∫0 𝑒𝑒 −𝑠𝑠𝑠𝑠 𝑓𝑓(𝑡𝑡)𝑑𝑑𝑑𝑑

•

Donde 𝑠𝑠 es una variable compleja.

Propiedades de la Transformada de Laplace: La transformada de Laplace tiene varias propiedades importantes que facilitan el análisis de ecuaciones diferenciales. Algunas de estas propiedades incluyen la linealidad, la transformada de la derivada, la transformada de la integral, entre otras.

•

Teorema de la Transformada de Laplace para Ecuaciones Diferenciales: El teorema fundamental que sustenta el uso de las transformadas de Laplace en la resolución de ecuaciones diferenciales lineales establece que, si aplicamos la transformada de Laplace a ambos lados de una ecuación diferencial lineal con coeficientes constantes y condiciones iniciales dadas, la ecuación diferencial se transforma en una ecuación algebraica en el dominio de Laplace. Esto convierte el problema en la resolución de una ecuación algebraica más manejable.

•

Transformada Inversa de Laplace:

•

Una vez que hemos resuelto la ecuación algebraica en el dominio de Laplace, podemos usar la transformada inversa de Laplace para encontrar la solución en el dominio del tiempo. La transformada inversa de Laplace nos permite recuperar la solución 𝑦𝑦(𝑡𝑡) de la ecuación diferencial original a partir de la solución 𝑌𝑌(𝑠𝑠) en el dominio de Laplace. Consideración de las Condiciones Iniciales:

Si se proporcionan condiciones iniciales, hay que incorpóralas en el proceso de resolución. Para ello se utiliza las condiciones iniciales para encontrar los valores de 𝑦𝑦(0), 𝑦𝑦 ′ (0), … Según sea necesario en el problema planteado

73


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

•

Interpretación de la Solución: Finalmente se analiza e interpreta la solución encontrada para entender su comportamiento en el contexto del problema original.

Ejemplos ilustrativos: Resolver:

𝒅𝒅𝒅𝒅 𝒅𝒅𝒅𝒅

+ 𝟑𝟑𝟑𝟑 = 𝟏𝟏𝟏𝟏 𝒔𝒔𝒔𝒔𝒔𝒔 𝟐𝟐𝟐𝟐 ; 𝒚𝒚(𝟎𝟎) = 𝟔𝟔

1. Aplicar la transformada de Laplace a toda la ecuación 𝑑𝑑𝑑𝑑 ℒ { + 3𝑦𝑦} = ℒ {13 sin 2𝑡𝑡} 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑 ℒ { } + ℒ {3𝑦𝑦} = 13ℒ {sin 2𝑡𝑡} 𝑑𝑑𝑑𝑑 2 ) 𝑠𝑠 𝑦𝑦(𝑠𝑠) − 𝑦𝑦(0) + 3ℒ {𝑦𝑦} = 13 ( 2 𝑠𝑠 + 4

𝑠𝑠 𝑦𝑦(𝑠𝑠) − 6 + 3𝑦𝑦(𝑠𝑠) =

2. Despejar 𝑦𝑦(𝑠𝑠)

𝑦𝑦(𝑠𝑠)(𝑠𝑠 + 3) =

𝑦𝑦(𝑠𝑠) = (𝑠𝑠2

26

26 𝑠𝑠 2 + 4

26 +6 𝑠𝑠 2 + 4

+4)(𝑠𝑠+3)

+

6

𝑠𝑠+3

3. Aplicar la transformada inversa de Laplace 26 6 ℒ −1 {𝑦𝑦(𝑠𝑠)} = ℒ −1 { 2 + } (𝑠𝑠 + 4)(𝑠𝑠 + 3) 𝑠𝑠 + 3 26 6 𝑦𝑦(𝑡𝑡) = ℒ −1 { 2 } + ℒ −1 { } (𝑠𝑠 + 4)(𝑠𝑠 + 3) 𝑠𝑠 + 3 26 𝐴𝐴 𝐵𝐵𝐵𝐵 + 𝐶𝐶 = + (𝑠𝑠 2 + 4)(𝑠𝑠 + 3) 𝑠𝑠 + 3 𝑠𝑠 2 + 4 26 𝐴𝐴(𝑠𝑠 2 + 4) + (𝐵𝐵𝐵𝐵 + 𝐶𝐶)(𝑠𝑠 + 3) = (𝑠𝑠 2 + 4)(𝑠𝑠 + 3) (𝑠𝑠 2 + 4)(𝑠𝑠 + 3) 26 𝐴𝐴𝑠𝑠 2 + 4𝐴𝐴 + 𝐵𝐵𝑠𝑠 2 + 3𝐵𝐵𝐵𝐵 + 𝐶𝐶𝐶𝐶 + 3𝐶𝐶 = (𝑠𝑠 2 + 4)(𝑠𝑠 + 3) (𝑠𝑠 2 + 4)(𝑠𝑠 + 3) 26 = (𝐴𝐴 + 𝐵𝐵)𝑠𝑠 2 + (3𝐵𝐵 + 𝐶𝐶)𝑠𝑠 + 4𝐴𝐴 + 3𝐶𝐶 𝐴𝐴 + 𝐵𝐵 = 0 { 3𝐵𝐵 + 𝐶𝐶 = 0 } 4𝐴𝐴 + 3𝐶𝐶 = 26

Despejando A de la primera ecuación 𝐴𝐴 = −𝐵𝐵

Despejando C de la segunda ecuación 𝐶𝐶 = −3𝐵𝐵

Reemplazando en la ecuación 3 4(−𝐵𝐵) + 3 (−3𝐵𝐵) = 26

74


en Ingeniería con sus métodos y aplicaciones

Resolviendo: −4𝐵𝐵 − 9𝐵𝐵 = 26 ; −13𝐵𝐵 = 26 ; 𝐵𝐵 = −2

Reemplazando en las ecuaciones anteriores 𝐴𝐴 = 2 ; 𝐶𝐶 = 6

Reemplazando en la transformada inversa anterior 26

(𝑠𝑠 2 +4)(𝑠𝑠+3)

𝑦𝑦(𝑡𝑡) = ℒ −1 {

=

2

𝑠𝑠+3

+

−2𝑠𝑠+6 𝑠𝑠 2 +4

2 −2𝑠𝑠 + 6 6 } + ℒ −1 { 2 } + ℒ −1 { } 𝑠𝑠 + 3 𝑠𝑠 + 4 𝑠𝑠 + 3

2𝑠𝑠 6 } + ℒ −1 { 2 } + 6𝑒𝑒 −3𝑡𝑡 𝑦𝑦(𝑡𝑡) = 2𝑒𝑒 −3𝑡𝑡 + ℒ −1 {− 2 𝑠𝑠 + 4 𝑠𝑠 + 4 𝑠𝑠 2 𝑦𝑦(𝑡𝑡) = 8𝑒𝑒 −3𝑡𝑡 − 2ℒ −1 { 2 } + 3ℒ −1 { 2 } 𝑠𝑠 + 4 𝑠𝑠 + 4 −3𝑡𝑡 − 2 cos 2𝑡𝑡 + 3 sin 2𝑡𝑡 𝑦𝑦(𝑡𝑡) = 8𝑒𝑒

Solución: 𝑦𝑦(𝑡𝑡) = 8𝑒𝑒 −3𝑡𝑡 − 2 cos 2𝑡𝑡 + 3 sin 2𝑡𝑡 Resolver: 𝒚𝒚′′ − 𝒚𝒚 = 𝒄𝒄𝒄𝒄𝒄𝒄 (𝒙𝒙) ;

𝒚𝒚(𝟎𝟎) = 𝟎𝟎 , 𝒚𝒚′ (𝟎𝟎) = 𝟏𝟏

Aplicamos la transformada de Laplace a los dos lados de la ecuación. ℒ(𝑦𝑦 ′′ ) − ℒ(𝑦𝑦) = ℒ(𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥))

De las tablas y los teoremas tenemos:ℒ(𝒚𝒚′′ ) = 𝑠𝑠 2 𝑌𝑌 − 𝑠𝑠𝑠𝑠(0) − 𝑦𝑦 ′ (0) ℒ(𝑦𝑦) = 𝑌𝑌

Reemplazando tenemos:

ℒ(𝑐𝑐𝑐𝑐𝑐𝑐 (𝑥𝑥)) = 𝑠𝑠

𝑠𝑠 2 𝑌𝑌 − 𝑠𝑠𝑦𝑦(0) − 𝑦𝑦 ′ (0) − 𝑌𝑌 = 2

𝑠𝑠 +1

𝑠𝑠 𝑠𝑠2 + 1

𝑠𝑠

Utilizando las condiciones iniciales 𝑠𝑠 2 𝑌𝑌 − 𝑠𝑠(0) − 1 − 𝑌𝑌 = 2 𝑠𝑠

Factorando Y resulta 𝑌𝑌(𝑠𝑠 2 − 1) = 2

𝑠𝑠 +1

+1

𝑌𝑌 =

𝑌𝑌 =

𝑠𝑠 +1

𝑠𝑠 + 𝑠𝑠 2 + 1

(𝑠𝑠 2 + 1)(𝑠𝑠 2 − 1)

𝑠𝑠 + 𝑠𝑠 2 + 1 (𝑠𝑠 2 + 1)(𝑠𝑠 − 1)(𝑠𝑠 + 1)

Procedemos a descomponer en fracciones parciales 𝑠𝑠 + 𝑠𝑠 2 + 1 𝐴𝐴 𝐵𝐵 𝐶𝐶𝐶𝐶 + 𝐷𝐷 = + + 2 2 (𝑠𝑠 + 1)(𝑠𝑠 − 1)(𝑠𝑠 + 1) (𝑠𝑠 + 1) (𝑠𝑠 − 1) (𝑠𝑠 + 1) Igualando los numeradores tenemos 𝑠𝑠 + 𝑠𝑠 2 + 1 = 𝐴𝐴(𝑠𝑠 − 1)(𝑠𝑠 2 + 1) + 𝐵𝐵(𝑠𝑠 + 1)(𝑠𝑠 2 + 1) + (𝐶𝐶𝐶𝐶 + 𝐷𝐷)(𝑠𝑠 + 1)(𝑠𝑠 − 1) 75


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Igualando los coeficientes tenemos el siguiente sistema de ecuaciones. 𝐴𝐴 + 𝐵𝐵 + 𝐶𝐶 = 0

−𝐴𝐴 + 𝐵𝐵 + 𝐷𝐷 = 1 𝐴𝐴 + 𝐵𝐵 − 𝐶𝐶 = 1

−𝐴𝐴 + 𝐵𝐵 − 𝐷𝐷 = 1

Utilizando el método de Gauss Jordan resolvemos el sistema 1 −1 ( 1 −1

1 (0 0 0

1 1 0 0 2 1 1 |1) 0 −2 0 1 2 1 −1 1

0 0 1 1 1 |1) 1 0 1 −1 0 1 1 0 −1 1

Hacemos el proceso inverso y resulta 𝐷𝐷 = 0 ; 𝐶𝐶 = − 1 − 4

3 4

De aquí resulta 𝑌𝑌 = (𝑠𝑠+1) + (𝑠𝑠−1) +

1 − 𝑠𝑠 2 (𝑠𝑠 2 +1)

1 2

; 𝐵𝐵 =

1 (0 0 0

3 4

1 1 0 0 2 1 1 |1) 0 −2 0 1 0 0 −2 0

; 𝐴𝐴 = −

1 4

Aplicamos la transformada inversa de Laplace ℒ

−1

(𝑌𝑌) = ℒ

−1

1 3 1 − 𝑠𝑠 4 4 −1 −1 ( )+ℒ ( )+ℒ ( 2 2 ) (𝑠𝑠 + 1) (𝑠𝑠 − 1) (𝑠𝑠 + 1) −

Usando las tablas tenemos la solución particular:

1

𝑦𝑦 = − 𝑒𝑒 −𝑥𝑥 + 4

3

4

𝑒𝑒 𝑥𝑥 −

1 2

cos 𝑥𝑥

Este problema fue el resuelto con el método de variación de parámetros por lo que se llega al mismo resultado y al mismo gráfico representado en la figura 19. . Aplicación de las distintas soluciones en problemas de las ingenierías

2.5 Aplicación de las distintas soluciones en problemas de las ingenierías 2.5.1 Resorte vibratorios La fundamentación teórica para la aplicación de ecuaciones diferenciales en el análisis de resortes vibratorios se basa en los principios de la mecánica newtoniana y la teoría de sistemas dinámicos, entre los principales los siguientes: •

Ley de Hooke: La ley de Hooke es un principio fundamental en la mecánica que describe el comportamiento elástico de un resorte. Esta ley establece que la fuerza 𝐹𝐹 ejercida por un resorte es directamente proporcional a la distancia 𝑥𝑥 desde su posición de equilibrio y tiene la dirección opuesta al desplazamiento: 𝐹𝐹 = −𝑘𝑘 𝑥𝑥

Donde 𝑘𝑘 es la constante del resorte, que caracteriza su rigidez o elasticidad. 76


en Ingeniería con sus métodos y aplicaciones

•

Ecuación Diferencial del Movimiento: Utilizando la ley de Hooke y la segunda ley de Newton (𝐹𝐹 = 𝑚𝑚 𝑎𝑎), podemos derivar la ecuación diferencial del movimiento para un sistema de resortemasa:

Donde:

•

𝑚𝑚

𝑑𝑑𝑑𝑑 𝑑𝑑2 𝑥𝑥 + 𝑏𝑏 + 𝑘𝑘𝑘𝑘 = 𝐹𝐹(𝑡𝑡) 2 𝑑𝑑𝑡𝑡 𝑑𝑑𝑑𝑑

o 𝑚𝑚 es la masa conectada al resorte. o 𝑏𝑏 es el coeficiente de amortiguamiento, que representa la resistencia del medio (aire, líquido, etc.). o 𝐹𝐹(𝑡𝑡) es una fuerza externa (si existe).

Sistema de Ecuaciones Diferenciales Lineales:

En muchos casos, el sistema de resorte-masa se modela como un sistema lineal, lo que resulta en una ecuación diferencial lineal de segundo orden. En ausencia de fuerzas externas ( 𝐹𝐹(𝑡𝑡) = 0 ), la ecuación se reduce a: 𝑚𝑚

𝑑𝑑𝑑𝑑 𝑑𝑑2 𝑥𝑥 + 𝑏𝑏 + 𝑘𝑘𝑘𝑘 = 0 2 𝑑𝑑𝑡𝑡 𝑑𝑑𝑑𝑑

Que se puede resolver por cualquier método hasta ahora vistos. •

Análisis de Soluciones:

La solución de la ecuación diferencial describe el comportamiento dinámico del sistema de resorte-masa en función del tiempo. Esto puede incluir oscilaciones armónicas simples, oscilaciones amortiguadas o incluso comportamientos complejos dependiendo de los parámetros del sistema. •

Aplicaciones y Modelado: Los resortes vibratorios se utilizan ampliamente para modelar sistemas físicos en diversas disciplinas, como la física, la ingeniería mecánica, la acústica, entre otras. Estos modelos son útiles para comprender y predecir el comportamiento de sistemas dinámicos en respuesta a fuerzas externas y condiciones iniciales.

77


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Movimiento vibratorio libre 𝑎𝑎 = − 𝑺𝑺

𝒙𝒙

𝑨𝑨

𝑉𝑉 = − 𝑥𝑥 = −

𝑎𝑎 = +

𝑉𝑉 = + 𝑥𝑥 = +

Fuente: Elaboración propia

A= amplitud S, X = desplazamientos Posición de equilibrio ∑ 𝐹𝐹𝐹𝐹 = 0

𝐹𝐹𝐹𝐹 − 𝑊𝑊 = 0

𝑘𝑘𝑘𝑘 − 𝑚𝑚𝑚𝑚 = 0

Posición de movimiento ∑ 𝐹𝐹𝐹𝐹 = −𝑚𝑚𝑚𝑚

𝐹𝐹𝐹𝐹 − 𝑊𝑊 = −𝑚𝑚𝑚𝑚

𝑘𝑘(𝐴𝐴 + 𝑥𝑥) − 𝑚𝑚𝑚𝑚 = −𝑚𝑚𝑚𝑚 𝑘𝑘𝑘𝑘 − 𝑚𝑚𝑚𝑚 + 𝑘𝑘𝑘𝑘 = −𝑚𝑚𝑚𝑚 𝑘𝑘𝑘𝑘 = −𝑚𝑚𝑚𝑚 𝑘𝑘𝑘𝑘 = −𝑎𝑎 𝑚𝑚

𝑘𝑘 𝑥𝑥 + 𝑎𝑎 = 0 𝑚𝑚

𝑑𝑑2 𝑥𝑥 𝑘𝑘 𝑥𝑥 + 2 = 0 𝑑𝑑𝑡𝑡 𝑚𝑚

Si

𝑑𝑑 2 𝑥𝑥 𝑑𝑑𝑡𝑡 2

78

𝑘𝑘

𝑚𝑚

= 𝑊𝑊 2

+ 𝑤𝑤 2 𝑥𝑥 = 0 Ecuación dif. del mov. vibratorio libre

𝑥𝑥 = 𝑥𝑥

𝑉𝑉 =

𝑎𝑎 =

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

𝑑𝑑2 𝑥𝑥 𝑑𝑑𝑡𝑡 2


en Ingeniería con sus métodos y aplicaciones

Solución: 𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 + 𝑊𝑊 2 = 0

𝑟𝑟 2 = −𝑊𝑊 2 𝑟𝑟1 = 𝑊𝑊𝑊𝑊

𝑟𝑟2 = −𝑊𝑊𝑊𝑊

𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆ó: 𝑥𝑥(𝑡𝑡) = 𝐶𝐶1 cos 𝑊𝑊𝑊𝑊 + 𝐶𝐶2 sin 𝑊𝑊𝑊𝑊

Amplitud 𝐴𝐴

𝐶𝐶2 𝐶𝐶1

𝐴𝐴 = √𝐶𝐶12 + 𝐶𝐶22

sin ∅ =

𝐶𝐶1 𝐴𝐴

cos ∅ =

𝐶𝐶1 = 𝐴𝐴 sin ∅

𝐶𝐶2 𝐴𝐴

𝐶𝐶2 = 𝐴𝐴 cos ∅

𝑥𝑥(𝑡𝑡) = 𝐴𝐴 sin ∅ cos 𝑊𝑊𝑊𝑊 + 𝐴𝐴 cos ∅ sin 𝑊𝑊𝑡𝑡

Solución: 𝑥𝑥(𝑡𝑡) = 𝐴𝐴 sin(𝑊𝑊𝑊𝑊 + ∅)

Período (𝑇𝑇): es el tiempo que se demora en una oscilación completa 𝑇𝑇 =

2𝜋𝜋 𝑊𝑊

Frecuencia (𝑓𝑓): es el número de oscilaciones completas en una unidad de tiempo 𝑓𝑓 =

Ejemplo ilustrativo:

𝑊𝑊 2𝜋𝜋

Un cuerpo que pesa 2 lbf hace que un resorte se estire 6 pulgadas. Cuando t=0 la masa se suelta desde un punto a 8 pulgadas debajo de la posición de equilibrio con una velocidad inicial hacia arriba 4 pie ⁄seg. Encuentre la ecuación del movimiento vibratorio, su amplitud, período y frecuencia. de 3

𝑎𝑎 = −

𝑉𝑉(0) = − 𝑥𝑥 = −

Fuente: Elaboración propia

79


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Datos: W= 2 lbf 1

S= 6 pulgadas = pie 2

t= 0

2

x(0)= 8 pulgadas= pie 4

3

V(0)= x´(0)= pie/seg 3

Solución:

Deducción de la ecuación del movimiento libre 𝑚𝑚

𝑑𝑑 2 𝑥𝑥 𝑑𝑑𝑡𝑡 2

+ 𝑘𝑘𝑘𝑘 = 0

𝑊𝑊 = 𝑚𝑚𝑚𝑚

𝑚𝑚 =

2 𝑙𝑙𝑙𝑙𝑙𝑙

32

𝑝𝑝𝑝𝑝𝑝𝑝 𝑠𝑠𝑠𝑠𝑠𝑠2

𝐹𝐹𝐹𝐹 = 𝑘𝑘𝑘𝑘

=

𝐹𝐹𝐹𝐹(0) = 𝑘𝑘. 𝑆𝑆 2 𝑙𝑙𝑙𝑙𝑙𝑙 = 𝑘𝑘(

𝑘𝑘 = 4

1 2

1

16

𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠

𝑝𝑝𝑝𝑝𝑝𝑝)

∑ 𝐹𝐹𝐹𝐹(0) = 0 𝐹𝐹𝐹𝐹(0) = 𝑊𝑊(0) 𝐹𝐹𝐹𝐹(0) = 2 𝑙𝑙𝑙𝑙𝑙𝑙 1 𝑑𝑑 2 𝑥𝑥 + 4𝑥𝑥 = 0 16 𝑑𝑑𝑡𝑡 2 𝑑𝑑2 𝑥𝑥 + 64𝑥𝑥 = 0 𝑑𝑑𝑡𝑡 2

Ecuación diferencial del movimiento

Solución 𝑃𝑃(𝑟𝑟) = 𝑟𝑟 2 + 64 = 0 𝑟𝑟 2 = −64 𝑟𝑟1 = 8𝑖𝑖

;

𝑟𝑟2 = −8𝑖𝑖

Solución general: 𝑥𝑥(𝑡𝑡) = 𝐶𝐶1 cos 8𝑡𝑡 + 𝐶𝐶2 sin 8𝑡𝑡

Aplicando las condiciones

𝑥𝑥(0) = 𝐶𝐶1 cos 8(0) + 𝐶𝐶2 sin 8(0) = 𝐶𝐶1 =

2 3

2 3

𝑉𝑉(𝑡𝑡) = 𝑥𝑥 ′ (𝑡𝑡) = −8𝐶𝐶1 sin 8𝑡𝑡 + 8𝐶𝐶2 cos 8𝑡𝑡

4 𝑉𝑉(0) = −8𝐶𝐶1 sin 8(0) + 8𝐶𝐶2 cos 8(0) = − 3 4 8𝐶𝐶2 = − 3 80


en Ingeniería con sus métodos y aplicaciones

1 6 2 1 𝑥𝑥(𝑡𝑡) = cos 8𝑡𝑡 + − sin 8𝑡𝑡 3 6 2 1 La ecuación particular del movimiento es 𝑥𝑥(𝑡𝑡) = cos 8𝑡𝑡 + − sin 8𝑡𝑡 𝐶𝐶2 = −

3

Cálculo de la amplitud del movimiento

6

𝐴𝐴 = √𝐶𝐶12 + 𝐶𝐶22

1 2 2 2 𝐴𝐴 = √( ) + (− ) 6 3 4 1 𝐴𝐴 = √ + 9 36

𝐴𝐴 = √ 𝐴𝐴 =

17 36

√17 ≅ 0,6872 𝑝𝑝𝑝𝑝𝑝𝑝 6

La amplitud del movimiento es 0,6872 𝑝𝑝𝑝𝑝𝑝𝑝 Cálculo del período y la frecuencia 𝑇𝑇 =

2𝜋𝜋 2𝜋𝜋 𝜋𝜋 = = 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 8 4 𝑊𝑊

El período es

𝑓𝑓 =

𝜋𝜋 4

𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠

𝑊𝑊 1 4 = = 𝐻𝐻𝐻𝐻 2𝜋𝜋 𝑇𝑇 𝜋𝜋

La frecuencia es

4

𝜋𝜋

𝐻𝐻𝐻𝐻

Ejemplo ilustrativo: Un sistema de resorte-masa donde una masa 𝑚𝑚 = 0.5 𝑘𝑘𝑘𝑘 está conectada a un resorte con una 𝑁𝑁 constante elástica 𝑘𝑘 = 10 . La masa se desplaza desde su posición de equilibrio inicial por una 𝑚𝑚

distancia de 𝑥𝑥0 = 0.2 𝑚𝑚 , y se libera desde el reposo con una velocidad inicial 𝑣𝑣0 = 0 Calcular la posición de la masa en función del tiempo.

𝑚𝑚 𝑠𝑠

.

La ecuación diferencial por resolver es la siguiente. 0.5

𝑑𝑑 2 𝑥𝑥 + 10 𝑥𝑥 = 0 , 𝑥𝑥0 = 0.2 ; 𝑣𝑣 = 𝑥𝑥′0 = 0 𝑑𝑑𝑡𝑡 2

Aplicando Laplace a la ecuación diferencial 0.5 ℒ (

𝑑𝑑2 𝑥𝑥 ) + 10ℒ( 𝑥𝑥) = ℒ(0) 𝑑𝑑𝑡𝑡 2

0.5 (𝑠𝑠 2 𝑋𝑋 − 𝑠𝑠𝑠𝑠(0) − 𝑥𝑥 ′ (0)) + 10 𝑋𝑋 = 0 𝑋𝑋(0.5 𝑠𝑠 2 + 10) = (0.5)(0.2)𝑠𝑠

81


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝑋𝑋 =

0.1 𝑠𝑠 0.5 𝑠𝑠 2 + 10

𝑋𝑋 =

0.2 𝑠𝑠 𝑠𝑠 2 + 20

Aplicando la transformada inversa resulta 0.2 𝑠𝑠 ℒ −1 (𝑋𝑋) = ℒ −1 ( 2 ) 𝑠𝑠 + 20 𝑠𝑠 ℒ −1 (𝑋𝑋) = 0.2ℒ −1 ( 2) 𝑠𝑠 2 + (√20)

𝑥𝑥 = 0.2 cos(√20 𝑡𝑡) Posición de la masa en función del tiempo

Se grafica esta solución utilizando un programa en Matlab. Programa 20: Para graficar una aplicación E.D – movimiento vibratorio % Datos del problema m = 0.5; % masa (kg) k = 10; % constante del resorte (N/m) x0 = 0.2; % desplazamiento inicial (m) v0 = 0; % velocidad inicial (m/s) % Frecuencia angular omega = sqrt(k/m); % Tiempo de simulación t = linspace(0, 10, 1000); % Tiempo de 0 a 10 segundos, con 1000 puntos % Función de desplazamiento x = x0 * cos(omega * t); % Dibujar la función plot(t, x, 'LineWidth', 2); xlabel('Tiempo (s)'); ylabel('Desplazamiento (m)'); title('Desplazamiento del problema del resorte'); grid on;

82


en Ingeniería con sus métodos y aplicaciones

Figura 20: Solución aplicación de E.D. - movimiento vibratorio

Fuente: Elaboración propia

2.5.2 Circuitos eléctricos La aplicación de ecuaciones diferenciales en circuitos eléctricos se basa en las leyes fundamentales de la electricidad y el magnetismo, principalmente las leyes de Kirchhoff y las leyes de circuitos de Ohm, así como en la teoría de circuitos lineales que se indican a continuación. •

Leyes de Kirchhoff: La primera ley de Kirchhoff (ley de corrientes) establece que la suma algebraica de las corrientes que entran y salen de cualquier nodo en un circuito es igual a cero. La segunda ley de Kirchhoff (ley de voltajes) establece que la suma algebraica de las caídas de voltaje en cualquier lazo cerrado en un circuito es igual a cero.

•

𝑉𝑉𝑅𝑅 + 𝑉𝑉𝐿𝐿 + 𝑉𝑉𝐶𝐶 = 𝐸𝐸(𝑡𝑡)

Leyes de Circuitos de Ohm:

La ley de Ohm establece que la corriente que fluye a través de un conductor es directamente proporcional al voltaje aplicado y inversamente proporcional a la resistencia del conductor. Las leyes de Ohm se pueden expresar matemáticamente como 𝑉𝑉𝑅𝑅 = 𝑖𝑖(𝑡𝑡) 𝑅𝑅, 𝑑𝑑𝑑𝑑 donde 𝑉𝑉 es el voltaje, 𝑖𝑖(𝑡𝑡) es la corriente y 𝑅𝑅 es la resistencia, con 𝑖𝑖(𝑡𝑡) = por 𝑑𝑑𝑑𝑑 lo que queda

83


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

•

Modelado de Elementos de Circuitos: En un circuito eléctrico, los componentes como resistencias, condensadores e inductores se modelan mediante relaciones que vinculan voltajes y corrientes, que pueden ser ecuaciones diferenciales. 𝑑𝑑𝑑𝑑

𝑑𝑑𝑑𝑑

pero recordando que 𝑖𝑖(𝑡𝑡) = el voltaje en Para el inductor se tiene 𝑉𝑉𝐿𝐿 = 𝐿𝐿 𝑑𝑑𝑑𝑑 𝑑𝑑𝑡𝑡 el inductor queda como 𝑉𝑉𝐿𝐿 = 𝐿𝐿 𝑞𝑞′′(𝑡𝑡) Y el voltaje para el condensador queda 𝑉𝑉𝐶𝐶 =

•

𝑞𝑞(𝑡𝑡) 𝐶𝐶

Por ejemplo, la relación entre el voltaje y la corriente en un condensador es 𝑑𝑑𝑑𝑑 , que es una ecuación diferencial que describe cómo cambia la 𝑖𝑖(𝑡𝑡) = 𝐶𝐶 𝑑𝑑𝑑𝑑 corriente a través del condensador con respecto al tiempo. Análisis de Circuitos de Primer y Segundo Orden:

Los circuitos eléctricos se pueden clasificar en circuitos de primer orden (que contienen solo resistencias y condensadores o inductores) y circuitos de segundo orden (que también pueden incluir elementos de almacenamiento de energía como inductores). Los circuitos de primer ya se estudiaron en el capítulo anterior y los de segundo orden también se pueden analizar utilizando ecuaciones diferenciales lineales ordinarias (ODE) para describir la relación entre voltajes y corrientes en función del tiempo. Un ejemplo sencillo de un circuito eléctrico de segundo orden es un circuito RLC en serie. Este tipo de circuito consiste en un resistor (𝑅𝑅), un inductor (𝐿𝐿) y un capacitor (𝐶𝐶) conectados en serie. Cuando se aplica una fuente de voltaje al circuito, se produce un comportamiento oscilatorio debido a las propiedades de almacenamiento de energía del inductor y el capacitor. La ecuación diferencial que describe el comportamiento de este circuito es una ecuación diferencial lineal de segundo orden. Supongamos que la corriente en el circuito es 𝑖𝑖(𝑡𝑡) y la tensión a través del capacitor es 𝑣𝑣𝑐𝑐 (𝑡𝑡).

Ejemplo ilustrativo:

Supongamos que tenemos un circuito RLC en serie con los siguientes valores de componentes: L es la inductancia en henrios (H)= 0.1 H R es la resistencia en ohmios (Ω)= 6 Ω C es la capacitancia en faradios (F)= 0.02 𝐹𝐹

E(t) es la fuente de voltaje en el circuito en voltios (V)= 6 V

Encontrar la corriente 𝑖𝑖(𝑡𝑡) del circuito en función del tiempo en segundos (s). La ecuación diferencial para este circuito puede ser expresada como:

84


en Ingeniería con sus métodos y aplicaciones

𝑑𝑑 2 𝑞𝑞 𝑑𝑑𝑑𝑑 1 + 𝑅𝑅 + 𝑖𝑖 = 𝐸𝐸(𝑡𝑡) 2 𝑑𝑑𝑡𝑡 𝑑𝑑𝑑𝑑 𝐶𝐶

𝐿𝐿

Reemplazando los datos tenemos

0.1

𝑑𝑑𝑑𝑑 1 𝑑𝑑2 𝑞𝑞 + 6 + 𝑖𝑖 = 6 2 𝑑𝑑𝑡𝑡 𝑑𝑑𝑑𝑑 0.02

𝑑𝑑 2 𝑞𝑞 𝑑𝑑𝑑𝑑 + 60 + 500 𝑖𝑖 = 60 2 𝑑𝑑𝑡𝑡 𝑑𝑑𝑑𝑑

Aplicando Laplace tenemos.

𝑑𝑑𝑑𝑑 𝑑𝑑2 𝑞𝑞 ℒ( 2 ) + 60ℒ( ) + 500ℒ( 𝑞𝑞) = 60ℒ( 1) 𝑑𝑑𝑡𝑡 𝑑𝑑𝑑𝑑

1 𝑠𝑠 2 𝑄𝑄 − 𝑠𝑠𝑠𝑠′(0) − 𝑞𝑞(0) + 60 ∗ (𝑠𝑠𝑠𝑠 − ´𝑞𝑞(𝑜𝑜)) + 500 𝑄𝑄 = 60 ( ) 𝑠𝑠

Aplicamos las condiciones iniciales.

Inicialmente no hay corriente 𝑞𝑞(0) = 0 y la derivada de la corriente 𝑞𝑞′(𝑜𝑜) = 0 reemplazando tenemos: 1 𝑠𝑠 2 𝑄𝑄 + 60 ∗ (𝑠𝑠𝑠𝑠) + 500𝑄𝑄 = 60( ) 𝑠𝑠 𝑄𝑄(𝑠𝑠 2 + 60 ∗ 𝑠𝑠 + 500 ) = 𝑄𝑄 =

60

60 𝑠𝑠

(𝑠𝑠)(𝑠𝑠 2 + 60 ∗ 𝑠𝑠 + 500)

𝑄𝑄 =

60 (𝑠𝑠)(𝑠𝑠 + 10)(𝑠𝑠 + 50)

Aplicando fracciones parciales tenemos 60

(𝑠𝑠)(𝑠𝑠+10)(𝑠𝑠+50)

=

𝐴𝐴 𝑠𝑠

+

𝐵𝐵

𝑠𝑠+10

+

𝐶𝐶

𝑠𝑠+50

60 = 𝐴𝐴(𝑠𝑠 2 + 60 ∗ 𝑠𝑠 + 500) + 𝐵𝐵(𝑠𝑠)(𝑠𝑠 + 50) + 𝐶𝐶(𝑠𝑠)(𝑠𝑠 + 10) 60 = 𝐴𝐴𝑠𝑠 2 + 60𝑠𝑠𝑠𝑠 + 500𝐴𝐴 + 𝐵𝐵𝑠𝑠 2 + 50𝑠𝑠𝑠𝑠 + 𝐶𝐶𝑠𝑠 2 + 10𝑠𝑠𝑠𝑠

Igualando los dos polinomios se forma el siguiente sistema de ecuaciones A+B+C=0 60A +50B+10C=0 500 A= 60 Resolviendo tenemos: 𝐴𝐴 =

3

25

, 𝐵𝐵 =

3

100

, 𝐶𝐶 =

−3 20

3 3 −3 100 25 + + 20 𝑄𝑄 = 𝑠𝑠 𝑠𝑠 + 10 𝑠𝑠 + 50

85


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Aplicamos la inversa de la transformada de Laplace ℒ

−1

(𝑄𝑄) = ℒ

Utilizando la tabla resulta 𝑞𝑞(𝑡𝑡) = Como 𝑖𝑖(𝑡𝑡) =

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

−1

3

25

+

Procedemos a derivar: 𝑖𝑖(𝑡𝑡) = −50 ( 3

3

3 3 −3 25 100 −1 −1 ( )+ℒ ( ) + ℒ ( 20 ) 𝑠𝑠 𝑠𝑠 + 10 𝑠𝑠 + 50

3

3

100

𝑒𝑒 −50𝑡𝑡 −

3

20

𝑒𝑒 −10𝑡𝑡

3

) 𝑒𝑒 −50𝑡𝑡 − 20 (−10)𝑒𝑒 −10𝑡𝑡

100

𝑖𝑖(𝑡𝑡) = − ( ) 𝑒𝑒 −50𝑡𝑡 + 𝑒𝑒 −10𝑡𝑡 Corriente del circuito en función del tiempo 2

2

Se grafica esta solución utilizando un programa en Matlab. Programa 21: Para graficar una aplicación E.D.- circuitos eléctricos % Definir el rango de tiempo t = linspace(0, 0.2, 1000); % Desde 0 hasta 0.2 segundos, con 1000 puntos % Calcular q(t) e i(t) q = 3/25 + 3 * exp(-50 * t) / 100 - 3 * (exp(-10 * t)) / 20; i = -3 * exp(-50 * t) / 2 + 3 * exp(-10 * t) / 2; % Graficar figure; plot(t, q, 'b', 'LineWidth', 2); % Gráfico de q(t) en azul hold on; % Mantener el gráfico actual activo plot(t, i, 'r', 'LineWidth', 2); % Gráfico de i(t) en rojo hold off; % Liberar el gráfico actual grid on; % Mostrar la cuadrícula xlabel('Tiempo (s)'); ylabel('Valor'); title('Representación de la carga q(t) y de la intensidad i(t)'); legend('q(t)', 'i(t)');

86


en Ingeniería con sus métodos y aplicaciones

Figura 21: Solución aplicación E.D. circuitos eléctricos

Fuente: Elaboración propia

87


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

3.1 Método de Euler El Método de Euler es un método numérico simple pero poderoso que aproxima la solución de una EDO de primer orden al discretizar el dominio de la variable independiente. Esta técnica se basa en la idea de que la derivada de una función en un punto puede aproximarse utilizando una forma discreta de la derivada, lo que permite avanzar paso a paso a lo largo del dominio de la función para encontrar su comportamiento aproximado. Al emplear el Método de Euler, se descompone la EDO en incrementos pequeños a lo largo del eje de la variable independiente. A través de iteraciones sucesivas, se calcula la solución de la ecuación a intervalos discretos, utilizando la aproximación de la pendiente en cada punto para avanzar hacia el siguiente. Este enfoque es particularmente valioso en situaciones donde la solución analítica exacta de la ecuación diferencial puede resultar compleja o incluso imposible de obtener. Además, el Método de Euler proporciona una base sólida para comprender otros métodos más sofisticados de resolución de EDOs y establece los fundamentos para explorar problemas más avanzados en análisis numérico. En este documento, exploraremos en detalle el funcionamiento del Método de Euler para resolver ecuaciones diferenciales lineales de primer orden, destacando su aplicabilidad, limitaciones y su relevancia en la aproximación de soluciones numéricas en diversos campos científicos y técnicos. Algoritmo Aquí tienes un ejemplo de un algoritmo del método de Euler para resolver ecuaciones diferenciales ordinarias de primer orden: Definir la ecuación diferencial: Tienes una ecuación diferencial de primer orden que quieres resolver, por ejemplo: 𝑑𝑑𝑑𝑑 = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑

Definir el punto inicial: Necesitas un punto inicial (𝑥𝑥0 , 𝑦𝑦0 ) desde el cual comenzar la integración. •

•

Definir el paso de integración: Decide el tamaño del paso ℎ para avanzar en la integración. Un valor pequeño de ℎ generalmente conduce a una mayor precisión, pero también aumenta el tiempo de cálculo. Iterar usando el método de Euler:

a. Punto inicial: (𝑥𝑥0 , 𝑦𝑦0 )

b. Usa la fórmula de actualización: 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Donde 𝑦𝑦𝑛𝑛 es el valor de 𝑦𝑦 en la 𝑛𝑛 − é𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 iteración, 𝑥𝑥𝑛𝑛 es el valor de 𝑥𝑥 en la 𝑛𝑛 − é𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 iteracción, 𝑓𝑓(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) es la función que define la ecuación diferencial en el punto

90


en Ingeniería con sus métodos y aplicaciones

(𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ),𝑦𝑦𝑛𝑛+1 es el valor de 𝑦𝑦 en la siguiente iteración, y 𝑥𝑥𝑛𝑛+1 es el valor de 𝑥𝑥 en la siguiente iteración. c. Repite el paso b hasta que alcances el punto final deseado o hasta que se cumpla una condición de terminación específica. •

Calcular y/o graficar los resultados: Una vez terminado el proceso de iteración, se puede calcular o graficar la solución de la ecuación diferencial.

Ejercicio de Aplicación: Resolver la ecuación diferencial de primer orden

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

= 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1)

Para comparar la exactitud del método de Euler calculamos la solución exacta con el método de las ecuaciones diferenciales lineales descrito en 1.4 a) Utilizando método para resolver la ecuación diferencial. Podemos reescribirla en la forma estándar

𝑑𝑑𝑑𝑑 𝑑𝑑𝑥𝑥

+ 𝑃𝑃(𝑥𝑥) 𝑦𝑦 = 𝑄𝑄(𝑥𝑥) , donde

𝑑𝑑𝑑𝑑 − 𝑦𝑦 = −𝑥𝑥 𝑑𝑑𝑑𝑑

Aquí, 𝑃𝑃(𝑥𝑥) = −1 y 𝑄𝑄(𝑥𝑥) = −𝑥𝑥

El factor integrante 𝜇𝜇(𝑥𝑥) se calcula como:

𝜇𝜇(𝑥𝑥) = 𝑒𝑒 ∫ 𝑃𝑃(𝑥𝑥)𝑑𝑑𝑑𝑑

Dado que, 𝑃𝑃(𝑥𝑥) = −1, tenemos: 𝜇𝜇(𝑥𝑥) = 𝑒𝑒 ∫ −𝑑𝑑𝑑𝑑 = 𝑒𝑒 −𝑥𝑥 Multiplicamos la ecuación diferencial por 𝜇𝜇(𝑥𝑥): 𝑒𝑒 −𝑥𝑥

La ecuación se convierte en:

𝑑𝑑

𝑑𝑑𝑑𝑑

(𝑒𝑒 −𝑥𝑥 𝑦𝑦) = −𝑥𝑥𝑒𝑒 −𝑥𝑥

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

− 𝑒𝑒 −𝑥𝑥 𝑦𝑦 = −𝑥𝑥𝑒𝑒 −𝑥𝑥

Integramos ambos lados con respecto a 𝑥𝑥: ∫

𝑑𝑑 −𝑥𝑥 (𝑒𝑒 𝑦𝑦) 𝑑𝑑𝑑𝑑 = ∫ −𝑥𝑥𝑒𝑒 −𝑥𝑥 𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

La integral del lado izquierdo directamente y el lado derecho integrando por partes:

Multiplicamos ambos lados por 𝑒𝑒 𝑥𝑥 :

𝑒𝑒 −𝑥𝑥 𝑦𝑦 = 𝑥𝑥𝑒𝑒 −𝑥𝑥 + 𝑒𝑒 −𝑥𝑥 + 𝐶𝐶

La solución general de la ecuación diferencial es:

Aplicando la condición inicial 𝑦𝑦(0) = 2 resulta:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝐶𝐶𝑒𝑒 𝑥𝑥

2 = −0 + 1 + 𝐶𝐶𝑒𝑒 0

Por lo que la solución particular es : De aquí 𝑦𝑦(1) = 1 + 1 + 𝑒𝑒 1 = 4.7183

𝐶𝐶 = 1

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

91


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

b) Utilizando el algoritmo del método aproximado de Euler, para resolver la ecuación diferencial.

𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥

Punto inicial: (0,2 ) Paso de integración ℎ = 0.1 Fórmulas de actualización

𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Utilizando Excel resulta los valores tabulados del siguiente cuadro. Tabla 1: Método de Euler en hoja electrónica excel i 0 1 2 3 4 5 6 7 8 9 10

xi 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00

yi aprox 2.00 2.20 2.41 2.63 2.86 3.11 3.37 3.65 3.94 4.26 4.59

y' 2.00 2.10 2.21 2.33 2.46 2.61 2.77 2.95 3.14 3.36 3.59

yi+1=yi+h y'i 2.20 2.41 2.63 2.86 3.11 3.37 3.65 3.94 4.26 4.59 4.95

yi exacto 2.000 2.205 2.421 2.650 2.892 3.149 3.422 3.714 4.026 4.360 4.718

Error relativo 0.000 0.002 0.005 0.007 0.010 0.012 0.015 0.018 0.020 0.023 0.026

Fuente: Elaboración propia c) Utilizando el programa codificado en Matlab para resolver la ecuación diferencial propuesta.

Programa 22: Para graficar con el Método de Euler % Parámetros iniciales x0 = 0; y0 = 2; N = 10; h = (1 - 0) / N; % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Valores iniciales

92


en Ingeniería con sus métodos y aplicaciones

x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(1)^x0 + x0 + 1; % Solución exacta de la ecuación diferencial % Método de Euler for i = 1:N y_prime = y_aprox(i) - x(i); y_aprox(i+1) = y_aprox(i) + h * y_prime; x(i+1) = x(i) + h; y_exacto(i+1) = exp(1)^x(i+1) + x(i+1) + 1; % Solución exacta de la ecuación diferencial error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end % Crear la tabla tabla = table((0:N)', x', y_aprox', [y_aprox(2:end), NaN]', y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'y_prime', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla con 4 decimales fprintf('%2s %5s %9s %9s %9s %15s\n', 'i', 'xi', 'yi_aprox', 'y_prime', 'yi_exacto', 'Error_relativo'); for i = 1:height(tabla) fprintf('%2d %5.2f %9.4f %9.4f %9.4f %15.4f\n', tabla{i, 1}, tabla{i, 2}, tabla{i, 3}, tabla{i, 4}, tabla{i, 5}, tabla{i, 6}); end % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Comparación de y aprox y y exacto usando el método de Euler'); legend show; grid on;

93


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Tabla 2: Método de Euler en un programa de Matlab i

xi

yi_aprox y_prime yi_exacto Error_relativo

0 0.00

2.0000

2.2000

2.0000

0.0000

1 0.10

2.2000

2.4100

2.2052

0.0023

2 0.20

2.4100

2.6310

2.4214

0.0047

3 0.30

2.6310

2.8641

2.6499

0.0071

4 0.40

2.8641

3.1105

2.8918

0.0096

5 0.50

3.1105

3.3716

3.1487

0.0121

6 0.60

3.3716

3.6487

3.4221

0.0148

7 0.70

3.6487

3.9436

3.7138

0.0175

8 0.80

3.9436

4.2579

4.0255

0.0204

9 0.90

4.2579

4.5937

4.3596

0.0233

10 1.00

4.5937

NaN

4.7183

0.0264

Fuente: Elaboración propia Figura 22: Solución E.D. aplicando método de Euler

Fuente: Elaboración propia

3.2 Método de Heun El Método de Heun, también conocido como el Método de Euler Mejorado, es un método numérico utilizado para resolver ecuaciones diferenciales ordinarias (EDOs) de primer orden. Este método es una mejora sobre el Método de Euler, ya que utiliza un paso de predicción-corrección para mejorar la precisión de la aproximación.

94


en Ingeniería con sus métodos y aplicaciones

La fundamentación teórica del Método de Heun se basa en la aproximación de la solución de una EDO mediante una serie de pasos discretos en el dominio de la variable independiente. A continuación, se describen los pasos fundamentales del método: Discretización del dominio: Se divide el dominio de la variable independiente 𝑥𝑥 en un conjunto de puntos discretos 𝑥𝑥0 , 𝑥𝑥1 , 𝑥𝑥2 , … 𝑥𝑥𝑛𝑛 . El tamaño del paso entre los puntos discretos se denota típicamente como ℎ.

Predicción del siguiente punto: En el Método de Euler Mejorado, se predice el valor de 𝑦𝑦 en el siguiente punto 𝑥𝑥𝑖𝑖+1 utilizando una aproximación lineal. Esto se hace calculando la pendiente de la función 𝑦𝑦 ′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) en el punto actual (𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) y extrapolando encontrar 𝑦𝑦𝑖𝑖+1 Corrección del valor predicho: Para mejorar la precisión de la predicción, se utiliza el promedio de la pendiente calculada en el paso anterior y la pendiente calculada en el punto siguiente (𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 ). Esto da una mejor estimación de la pendiente promedio en el intervalo [𝑥𝑥𝑖𝑖 , 𝑥𝑥𝑖𝑖+1 ], Entonces, se utiliza la pendiente promedio para predecir 𝑦𝑦 en el siguiente punto. Actualización de la solución: Se utiliza el valor aproximado 𝑦𝑦𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 como la aproximación mejorada de 𝑦𝑦 en el punto 𝑥𝑥𝑖𝑖+1 . Este valor se calcula mediante la fórmula: 𝑦𝑦𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 = 𝑦𝑦𝑖𝑖 +

ℎ (𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 ) 2

Iteración: Estos pasos se repiten para cada punto en el dominio hasta alcanzar el punto final deseado o el número de iteraciones especificado. Algoritmo El método de Heun, también conocido como el método de Euler mejorado o el método del trapecio, es una técnica numérica utilizada para resolver ecuaciones diferenciales ordinarias (EDO) de primer orden. Este método mejora la precisión del método de Euler al utilizar un promedio ponderado de las pendientes en dos puntos. Aquí está el desarrollo del método de Heun: Supongamos que tenemos la siguiente EDO de primer orden:

con una condición inicial dada:

𝑑𝑑𝑑𝑑 = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑 𝑦𝑦(𝑥𝑥0 ) = 𝑦𝑦0

El método de Heun se realiza en dos pasos en cada iteración: •

Paso 1: Predicción Calcule un valor provisional para 𝑦𝑦 utilizando el método de Euler en un pequeño paso ℎ:

95


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝑦𝑦𝑝𝑝 = 𝑦𝑦𝑖𝑖 + ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

•

Donde 𝑦𝑦𝑖𝑖 es el valor actual de 𝑦𝑦 en la 𝑖𝑖 − é𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 iteración y 𝑥𝑥𝑖𝑖 es el valor actual de 𝑥𝑥 Paso 2: Corrección

Se utiliza el valor provisional 𝑦𝑦𝑝𝑝 para calcular un promedio ponderado entre 𝑦𝑦𝑛𝑛 y 𝑦𝑦𝑝𝑝 como sigue. 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

ℎ . [ 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑝𝑝 )] 2

Donde 𝑥𝑥𝑛𝑛+1 = 𝑥𝑥𝑛𝑛 + ℎ es el nuevo valor de 𝑥𝑥 después del paso

Ejercicio de Aplicación:

Para poder comparar con el método de Euler se plantea la misma ecuación diferencial de primer orden 𝑑𝑑𝑑𝑑 = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial.

Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de (Heun) para resolver la ecuación diferencial. 𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥

𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦)

Punto inicial: 𝑦𝑦(0) = 2

Paso de integración ℎ = 0.1 Fórmulas de actualización

Paso 1: predicción 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

Paso 2: corrección

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ ℎ . [ 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑝𝑝 )] 2

Utilizando Excel resulta los valores tabulados del siguiente cuadro.

96


en Ingeniería con sus métodos y aplicaciones

Tabla 3: Método de Heun en hoja electrónica excel i

xi

yi apox

y'i

xi+1

yi+1

y' i+1

yi+1

yi exac

E. relat.

0

0.00

2.0000

2.000

0.100

2.200

2.100

2.20500

2.0000

0.000

1

0.10

2.2050

2.105

0.200

2.416

2.216

2.42103

2.2052

0.008

2

0.20

2.4210

2.221

0.300

3

0.30

2.6492

2.349

0.400

2.643

2.343

2.64923

2.4214

0.016

2.884

2.484

2.89090

2.6499

0.024

4

0.40

2.8909

2.491

5

0.50

3.1474

2.647

0.500

3.140

2.640

3.14745

2.8918

0.032

0.600

3.412

2.812

3.42043

3.1487

0.040

6

0.60

3.4204

2.820

0.700

3.702

3.002

3.71157

3.4221

0.049

7

0.70

8

0.80

3.7116

3.012

0.800

4.013

3.213

4.02279

3.7138

0.059

4.0228

3.223

0.900

4.345

3.445

4.35618

4.0255

0.068

9

0.90

4.3562

3.456

1.000

4.702

3.702

4.71408

4.3596

0.078

10

1.00

4.7141

4.7183

0.089

Fuente: Elaboración propia c) Utilizando el programa codificado en Matlab para resolver la ecuación diferencial propuesta.

Programa 23: Para graficar con el Método de Heun % Parámetros iniciales x0 = 0; y0 = 2; N = 10; h = (1 - 0) / N; % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); y_prime = zeros(1, N+1); y_prime_corrected = zeros(1, N+1); y_temp = zeros(1, N+1); y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Valores iniciales x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(x0) + x0 + 1; % Solución exacta de la ecuación diferencial % Método de Heun for i = 1:N y_prime(i) = y_aprox(i) - x(i); y_temp(i) = y_aprox(i) + h * y_prime(i); % Estimación inicial usando Euler x(i+1) = x(i) + h;

97


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

y_prime_corrected(i) = y_temp(i) - x(i+1); y_aprox(i+1) = y_aprox(i) + (h/2) * (y_prime(i) + y_prime_corrected(i)); y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta de la ecuación diferencial error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end % Crear la tabla tabla = table((0:N)', x', y_aprox', y_prime', [x(2:end)'; NaN], y_temp', y_prime_corrected', [y_aprox(2:end)'; NaN], y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'y_prime', 'xi_1', 'yi_1_euler', 'y_prime_corrected', 'yi_1_heun', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla con 4 decimales fprintf('%2s %5s %13s %9s %9s %9s %9s %9s %9s %15s\n', 'i', 'xi', 'yi_aprox', 'y_prime', 'xi_1', 'yi_1_euler', 'y_prime_corrected', 'yi_1_heun', 'yi_exacto', 'Error_relativo'); for i = 1:height(tabla) fprintf('%2d %5.2f %9.4f %9.4f %9.4f %9.4f %20.4f %13.4f %13.4f %15.4f\n', tabla{i, 1}, tabla{i, 2}, tabla{i, 3}, tabla{i, 4}, tabla{i, 5}, tabla{i, 6}, tabla{i, 7}, tabla{i, 8}, tabla{i, 9}, tabla{i, 10}); end % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Comparación de y aprox y y exacto usando el método de Heun'); legend show; grid on;

98


en Ingeniería con sus métodos y aplicaciones

Tabla 4: Método de Heun en un programa de Matlab i xi

yi_aprox y_prime

0 0.00 1 0.10 2 0.20 3 0.30

2.0000 2.2050 2.4210 2.6492

2.0000 2.1050 2.2210 2.3492

xi_1 yi_1_euler y_prime_corrected yi_1_heun yi_exacto Error_relativo 0.1000 0.2000 0.3000 0.4000

2.2000 2.4155 2.6431 2.8842

2.1000 2.2155 2.3431 2.4842

2.2050 2.4210 2.6492 2.8909

2.0000 2.2052 2.4214 2.6499

0.0000 0.0001 0.0002 0.0002

4 0.40 2.8909 2.4909 0.5000 5 0.50 3.1474 2.6474 0.6000 6 0.60 3.4204 2.8204 0.7000 7 0.70 3.7116 3.0116 0.8000 8 0.80 4.0228 3.2228 0.9000 9 0.90 4.3562 3.4562 1.0000 10 1.00 4.7141 0.0000 NaN

3.1400 3.4122 3.7025 4.0127 4.3451 4.7018 0.0000

2.6400 2.8122 3.0025 3.2127 3.4451 3.7018 0.0000

3.1474 3.4204 3.7116 4.0228 4.3562 4.7141 NaN

2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009

Fuente: Elaboración propia Figura 23: Solución E.D. aplicando método de Heun

Fuente: Elaboración propia

99


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

3.3 Método de la serie de Taylor de tres términos El Método de la serie de Taylor de tres términos para resolver ecuaciones diferenciales se basa en la aproximación de una función mediante su serie de Taylor truncada a tres términos. La serie de Taylor es una herramienta fundamental en análisis matemático que permite representar funciones de manera aproximada como una suma infinita de términos, donde cada término está relacionado con las derivadas de la función evaluadas en un punto específico. La serie de Taylor de una función 𝑓𝑓(𝑥𝑥) alrededor de un punto 𝑥𝑥0 se expresa generalmente como: 𝑓𝑓(𝑥𝑥) = 𝑓𝑓(𝑥𝑥0 ) + 𝑓𝑓´(𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥0 ) +

𝑓𝑓′´(𝑥𝑥0 ) 2!

(𝑥𝑥 − 𝑥𝑥0 )2 + …

Donde 𝑓𝑓´(𝑥𝑥0 ) es la primera derivada de 𝑓𝑓 evaluada en 𝑥𝑥0 , 𝑓𝑓′´(𝑥𝑥0 ) es la segunda derivada, y así sucesivamente.

El método de la serie de Taylor de tres términos se centra en truncar esta serie a solo los tres primeros términos: 𝑓𝑓(𝑥𝑥) ≈ 𝑓𝑓(𝑥𝑥0 ) + 𝑓𝑓´(𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥0 ) +

𝑓𝑓′´(𝑥𝑥0 ) (𝑥𝑥 − 𝑥𝑥0 )2 2!

Esta aproximación es válida cuando 𝑥𝑥 está lo suficientemente cerca de 𝑥𝑥0 Al sustituir esta aproximación en una ecuación diferencial, podemos obtener una solución aproximada a la ecuación diferencial, es decir establece que una función suficientemente suave puede aproximarse por su serie de Taylor en un entorno de un punto dado. La validez y precisión de la aproximación dependen de la suavidad de la función y de qué tan cerca esté 𝑥𝑥 de 𝑥𝑥0

Es importante tener en cuenta que este método es una técnica de aproximación y puede no proporcionar soluciones exactas para todas las ecuaciones diferenciales. Sin embargo, puede ser útil en situaciones en las que no se pueden encontrar soluciones analíticas exactas o cuando se busca una solución rápida y aproximada. Algoritmo

El algoritmo para aplicar el Método de la serie de Taylor de tres términos para resolver ecuaciones diferenciales consiste en los siguientes pasos: •

• • •

100

Dada una ecuación diferencial: Se comienza con una ecuación diferencial de 𝑑𝑑𝑑𝑑 = 𝑓𝑓(𝑥𝑥, 𝑦𝑦), donde 𝑦𝑦 es la función desconocida y 𝑓𝑓(𝑥𝑥, 𝑦𝑦) es una la forma 𝑑𝑑𝑑𝑑 función conocida que describe la relación entre 𝑥𝑥 e 𝑦𝑦. Elegir un punto inicial: Se elige un punto inicial (𝑥𝑥0 , 𝑦𝑦0 ) donde se conozca el valor de 𝑦𝑦. Este punto puede ser proporcionado en el problema o elegido arbitrariamente. Calcular las derivadas: Se calculan las primeras dos derivadas de 𝑦𝑦 con respecto a 𝑥𝑥 en el punto (𝑥𝑥0 , 𝑦𝑦0 ): 𝑦𝑦 ′ (𝑥𝑥0 ) y 𝑦𝑦′′ (𝑥𝑥0 ). Estas derivadas se calculan a partir de la ecuación diferencial. Aproximación de la función: Se utiliza la aproximación de la función 𝑦𝑦(𝑥𝑥) alrededor de 𝑥𝑥0 utilizando la serie de Taylor truncada a tres términos:


en Ingeniería con sus métodos y aplicaciones

• • •

𝑦𝑦(𝑥𝑥) ≈ 𝑦𝑦(𝑥𝑥0 ) + 𝑦𝑦´(𝑥𝑥0 )(𝑥𝑥 − 𝑥𝑥0 ) +

𝑦𝑦′´(𝑥𝑥0 ) (𝑥𝑥 − 𝑥𝑥0 )2 2!

Resolución de la aproximación: Se resuelve esta aproximación de la ecuación diferencial obteniendo una expresión para 𝑦𝑦(𝑥𝑥). Esto puede implicar la integración y manipulación algebraica. Obtener una solución aproximada: La expresión obtenida en el paso anterior proporciona una solución aproximada de la ecuación diferencial en un entorno del punto inicial 𝑥𝑥0 . Iteración (opcional): Si se requiere una solución más precisa, se pueden repetir los pasos anteriores utilizando la solución aproximada obtenida como un nuevo punto inicial.

Ejercicio de Aplicación: Para poder comparar con los métodos anteriores se plantea la misma ecuación diferencial de primer 𝑑𝑑𝑑𝑑 orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial.

Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de Taylor para resolver la ecuación diferencial. 𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥 𝑑𝑑𝑑𝑑 = 𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑 Punto inicial: 𝑦𝑦(0) = 2

Paso de integración ℎ = 0.1

Calcular las derivadas 𝑦𝑦 ′ = 𝑦𝑦 − 𝑥𝑥

𝑦𝑦 ′′ = 𝑦𝑦 ′ − 1

Aproximación de la función: 𝑦𝑦(𝑥𝑥𝑖𝑖+1 ) ≈ 𝑦𝑦(𝑥𝑥𝑖𝑖 ) + 𝑦𝑦´(𝑥𝑥𝑖𝑖 )(𝑥𝑥𝑖𝑖+1 − 𝑥𝑥𝑖𝑖 ) +

𝑦𝑦′´(𝑥𝑥𝑖𝑖 ) 2!

(𝑥𝑥𝑖𝑖+1 − 𝑥𝑥𝑖𝑖 )2

Utilizando Excel resulta los valores calculados en la siguiente tabla.

101


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Tabla 5: Método de Taylor en hoja electrónica excel

i

xi

yi aprox

y'i

y''i

yi+1

0 1 2 3 4 5 6 7 8 9 10

0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00

2.00000 2.20500 2.42103 2.64923 2.89090 3.14745 3.42043 3.71157 4.02279 4.35618 4.71408

2.000 2.105 2.221 2.349 2.491 2.647 2.820 3.012 3.223 3.456

1.000 1.105 1.221 1.349 1.491 1.647 1.820 2.012 2.223 2.456

2.205 2.421 2.649 2.891 3.147 3.420 3.712 4.023 4.356 4.714

yi exacto

Error relativo

2.00000 2.20517 2.42140 2.64986 2.89182 3.14872 3.42212 3.71375 4.02554 4.35960 4.71828

0.000 0.008 0.016 0.024 0.032 0.040 0.049 0.059 0.068 0.078 0.089

Fuente: Elaboración propia

Programa 24: Para graficar con el Método de Taylor de tres términos % Parámetros iniciales x0 = 0; y0 = 2; N = 10; h = (1 - 0) / N; % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); y_prime = zeros(1, N+1); y_double_prime = zeros(1, N+1); y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Valores iniciales x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(1)^x0 + x0 + 1; % Método de Taylor for i = 1:N y_prime(i) = y_aprox(i) - x(i); y_double_prime(i) = y_prime(i) - 1; y_aprox(i+1) = y_aprox(i) + h * y_prime(i) + (h^2 / 2) * y_double_prime(i); x(i+1) = x(i) + h; y_exacto(i+1) = exp(1) ^ x(i+1) + x(i+1) + 1; error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end

102


en Ingeniería con sus métodos y aplicaciones

% Crear la tabla tabla = table((0:N)', x', y_aprox', y_prime', y_double_prime', y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'y_prime', 'y_double_prime', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla con 4 decimales fprintf('%2s %8s %13s %9s %9s %9s %15s\n', 'i', 'xi', 'yi_aprox', 'y_prime', 'y_double_prime', 'yi_exacto', 'Error_relativo'); for i = 1:height(tabla) fprintf('%2d %8.2f %9.4f %14.4f %14.4f %14.4f %15.4f\n', tabla{i, 1}, tabla{i, 2}, tabla{i, 3}, tabla{i, 4}, tabla{i, 5}, tabla{i, 6}, tabla{i, 7}); end % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Comparación de y aprox y y exacto usando el método de TAYLOR'); legend show; grid on; Tabla 6: Método de Taylor en un programa de Matlab

i

xi

yi_aprox y_prime

y_double_prime yi_exacto Error_relativo

0

0.00

2.0000

2.0000

1.0000

2.0000

0.0000

1

0.10

2.2050

2.1050

1.1050

2.2052

0.0001

2

0.20

2.4210

2.2210

1.2210

2.4214

0.0002

3

0.30

2.6492

2.3492

1.3492

2.6499

0.0002

4

0.40

2.8909

2.4909

1.4909

2.8918

0.0003

5

0.50

3.1474

2.6474

1.6474

3.1487

0.0004

6

0.60

3.4204

2.8204

1.8204

3.4221

0.0005

7

0.70

3.7116

3.0116

2.0116

3.7138

0.0006

8

0.80

4.0228

3.2228

2.2228

4.0255

0.0007

9

0.90

4.3562

3.4562

2.4562

4.3596

0.0008

10

1.00

4.7141

0.0000

0.0000

4.7183

0.0009

Fuente: Elaboración propia

103


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 24: Solución E.D. aplicando método de Taylor

Fuente: Elaboración propia

3.4 Método de Nystron Para emplear el método de Nystrom en la resolución aproximada de una ecuación diferencial, es necesario que se establezcan valores de partida adicionales a los empleados en los métodos anteriores, que pueden obtenerse tanto por el método de Heun como por el método de la serie de Taylor de tres términos, es decir a más de la condición inicial (𝑥𝑥𝑛𝑛−1 , 𝑦𝑦𝑛𝑛−1 )es necesario contar con otro valor posterior obtenido con preferencia utilizando Heun tal como (𝑥𝑥𝑛𝑛 , 𝑦𝑦𝑛𝑛 ) y obtener el siguiente valor mediante la siguiente expresión. Algoritmo

𝑦𝑦𝑛𝑛+1 = 𝑦𝑦𝑛𝑛−1 + 2ℎ 𝑦𝑦′𝑛𝑛

El algoritmo para aplicar el Método de Nystrom para resolver ecuaciones diferenciales consiste en los siguientes pasos: •

• •

104

Dada una ecuación diferencial: Se comienza con una ecuación diferencial de 𝑑𝑑𝑑𝑑 = 𝑓𝑓(𝑥𝑥, 𝑦𝑦), donde 𝑦𝑦 es la función desconocida y 𝑓𝑓(𝑥𝑥, 𝑦𝑦) es una la forma 𝑑𝑑𝑑𝑑 función conocida que describe la relación entre 𝑥𝑥 e 𝑦𝑦. Elegir un punto inicial: Se elige un punto inicial (𝑥𝑥0 , 𝑦𝑦0 ) donde se conozca el valor de 𝑦𝑦. Este punto puede ser proporcionado en el problema o elegido arbitrariamente. Calcular un punto de partida adicional: Se utiliza Heun y la serie de Taylor de tres términos, con preferencia se emplea el de Heun en base a la siguiente expresión. 𝑦𝑦′𝑖𝑖 = 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )


en Ingeniería con sus métodos y aplicaciones

Cabe indicar que como el método de Euler es de menor orden que el método de Nystrom, no debe utilizarse para crear los puntos de partida por ser menos exacto que los otros métodos sugeridos. Para el ejemplo inicialmente tenemos: 𝑥𝑥0 , 𝑦𝑦0 , 𝑦𝑦′0 = 𝑓𝑓(𝑥𝑥0 , 𝑦𝑦0 ) para el siguiente punto 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ 𝑦𝑦′𝑖𝑖 Ahora calculamos:

• •

y calculamos 𝑦𝑦′𝑖𝑖+1 = 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 + ℎ 𝑦𝑦′𝑖𝑖 )

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + 2ℎ 𝑦𝑦′𝑖𝑖+1

Continuar con el proceso: Se repite el paso anterior hasta que se alcanza el punto final deseado o hasta que se cumpla una condición de terminación específica. Calcular y/o graficar los resultados: Una vez terminado el proceso de iteración, se puede calcular o graficar la solución de la ecuación diferencial.

Ejercicio de Aplicación: Para poder comparar con los métodos anteriores se plantea la misma ecuación diferencial de 𝑑𝑑𝑑𝑑 primer orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial. Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de Taylor para resolver la ecuación diferencial.

Punto inicial: 𝑦𝑦(0) = 2

𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥 𝑑𝑑𝑑𝑑 = 𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑

Aplicando las fórmulas que se indican en el algoritmo y aplicando Excel obtenemos el siguiente cuadro.

105


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Tabla 7: Método de Nystron en hoja electrónica excel Error relativo

i

xi

yi aprox

y'i

xi+1

yi+1=yi+h y'i

y' i+1

yi+1

yi exacto

0

0.000

2.000

2.000

0.100

2.200

2.100

2.205

2.000

0.0000

1

0.100

2.205

2.105

0.200

2.416

2.216

2.421

2.205

0.0001

2

0.200

2.421

2.221

0.300

2.643

2.343

2.649

2.421

0.0002

3

0.300

2.649

2.349

0.400

2.884

2.484

2.891

2.650

0.0002

4

0.400

2.891

2.491

0.500

3.140

2.640

3.147

2.892

0.0003

5

0.500

3.147

2.647

0.600

3.412

2.812

3.420

3.149

0.0004

6

0.600

3.420

2.820

0.700

3.702

3.002

3.712

3.422

0.0005

7

0.700

3.712

3.012

0.800

4.013

3.213

4.023

3.714

0.0006

8

0.800

4.023

3.223

0.900

4.345

3.445

4.356

4.026

0.0007

9

0.900

4.356

3.456

1.000

4.702

3.702

4.714

4.360

0.0008

10

1.000

4.714

4.718

0.0009

Fuente: Elaboración propia

Programa 25: Para graficar con el Método de Nystron % Parámetros iniciales x0 = 0; y0 = 2; N = 10; h = (1 - 0) / N; % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); y_prime = zeros(1, N+1); y_prime_corrected = zeros(1, N+1); y_temp = zeros(1, N+1); % Almacenará los valores temporales para yi_1_euler y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Valores iniciales x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(x0) + x0 + 1; % Solución exacta de la ecuación diferencial % Método de Heun for i = 1:N y_prime(i) = y_aprox(i) - x(i); y_temp(i+1) = y_aprox(i) + h * y_prime(i); % Estimación inicial usando Euler x(i+1) = x(i) + h; y_prime_corrected(i+1) = y_temp(i+1) - x(i+1); y_aprox(i+1) = y_aprox(i) + (h/2) * (y_prime(i) + y_prime_corrected(i+1)); y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta de la ecuación diferencial 106


en Ingeniería con sus métodos y aplicaciones

error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end % Crear la tabla tabla = table((0:N)', x', y_aprox', y_prime', x', y_temp', y_prime_corrected', y_aprox', y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'y_prime', 'xi_1', 'yi_1_euler', 'y_prime_corrected', 'yi_1_heun', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla con 4 decimales fprintf('%2s %5s %13s %9s %9s %10s %13s %9s %9s %15s\n', 'i', 'xi', 'yi_aprox', 'y_prime', 'xi_1', 'yi_1_Nystron', 'y_prime_corrected', 'yi_1_Nystron', 'yi_exacto', 'Error_relativo'); for i = 1:height(tabla) fprintf('%2d %5.2f %9.4f %9.3f %11.3f %12.3f %18.3f %22.3f %12.3f %15.4f\n', tabla{i, 1}, tabla{i, 2}, tabla{i, 3}, tabla{i, 4}, tabla{i, 5}, tabla{i, 6}, tabla{i, 7}, tabla{i, 8}, tabla{i, 9}, tabla{i, 10}); End % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Comparación de y aprox y y exacto usando el método de Nystron'); legend show; grid on; Tabla 8: Método de Nystrom en un programa de Matlab

i

yi_aprox y_prime

xi_1 yi_1_euler y_prime_correc yi_1_nystrom yi_exacto Error_relativo

0 0.00

xi

2.0000

2.000

0.000

0.000

0.000

2.000

2.000

0.0000

1 0.10

2.2050

2.105

0.100

2.200

2.100

2.205

2.205

0.0001

2 0.20

2.4210

2.221

0.200

2.416

2.216

2.421

2.421

0.0002

3 0.30

2.6492

2.349

0.300

2.643

2.343

2.649

2.650

0.0002

4 0.40

2.8909

2.491

0.400

2.884

2.484

2.891

2.892

0.0003

5 0.50

3.1474

2.647

0.500

3.140

2.640

3.147

3.149

0.0004

6 0.60

3.4204

2.820

0.600

3.412

2.812

3.420

3.422

0.0005

7 0.70

3.7116

3.012

0.700

3.702

3.002

3.712

3.714

0.0006

8 0.80

4.0228

3.223

0.800

4.013

3.213

4.023

4.026

0.0007

9 0.90

4.3562

3.456

0.900

4.345

3.445

4.356

4.360

0.0008

10 1.00

4.7141

0.000

1.000

4.702

3.702

4.714

4.718

0.0009

Fuente: Elaboración propia

107


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 25: Solución E.D. aplicando el método de Nystron

Fuente: Elaboración propia

3.5 Método de Runge-kutta de tercer orden El método de Runge-Kutta se deriva de la expansión de Taylor de la solución de las ecuaciones diferenciales ordinarias en torno a un punto. A través de este enfoque, se puede obtener una aproximación de la solución en un paso de tiempo subsiguiente. El método de Runge-Kutta de tercer orden, específicamente, utiliza un proceso iterativo para estimar la solución de la EDO en cada paso, lo que implica el cálculo de varios puntos intermedios dentro de ese paso. Este método es más preciso que el método de Euler, pero menos costoso computacionalmente que métodos de orden superior como el método de Runge-Kutta de cuarto orden. Esto lo hace útil en situaciones donde se requiere un buen equilibrio entre precisión y eficiencia computacional. La idea principal detrás del método de Runge-Kutta de tercer orden es utilizar una combinación ponderada de pendientes en diferentes puntos dentro de un paso de tiempo para calcular una mejor aproximación de la solución. Este método puede derivarse de la expansión de Taylor, y su precisión y estabilidad están respaldadas por análisis matemáticos que se describen en el algoritmo. Algoritmo Un algoritmo para resolver una Ecuación Diferencial Ordinaria (EDO) utilizando el método de Runge-Kutta de tercer orden sigue los siguientes pasos.

108


en Ingeniería con sus métodos y aplicaciones

• • • •

Definición del problema: Especifica la EDO que se desea resolver, junto con las condiciones iniciales si es un problema de valores iniciales. Discretización del dominio: Divide el intervalo de la variable independiente (por ejemplo, 𝑥𝑥) en pequeños pasos o puntos. Esto define los puntos en los cuales se calcularán las aproximaciones de la solución. Elección del tamaño del paso(𝒉𝒉): Determina el tamaño del paso apropiado para la discretización. Un valor adecuado de ℎ depende de la naturaleza del problema y de la precisión requerida. Iteración del método de Runge-Kutta de tercer orden: Inicializa la solución 𝑦𝑦0 con el valor inicial dado.

Para cada paso 𝑖𝑖 desde 𝑖𝑖 = 0 hasta el número total de pasos necesarios: Calcula las pendientes 𝑘𝑘1 , 𝑘𝑘2 y 𝑘𝑘3 utilizando las siguientes fórmulas:

𝑘𝑘1 = ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

ℎ 𝑘𝑘1 𝑘𝑘2 = ℎ . 𝑓𝑓 (𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + ) 2 2

𝑘𝑘3 = ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 − 𝑘𝑘1 + 2𝑘𝑘2 )

Calcula el valor de 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

1 6

(𝑘𝑘1 + 4 𝑘𝑘2 + 𝑘𝑘3 )

A continuación, actualizamos 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Obtención de la solución: Después de completar todas las iteraciones, la solución aproximada de la EDO estará disponible en 𝑦𝑦, en los puntos sincretizados del dominio.

Ejercicio de Aplicación

Para poder comparar con los métodos anteriores se plantea la misma ecuación diferencial de primer 𝑑𝑑𝑑𝑑 orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial.

Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de Taylor para resolver la ecuación diferencial. 𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥 𝑑𝑑𝑑𝑑 = 𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑 Punto inicial: 𝑦𝑦(0) = 2

Paso de integración ℎ = 0.1

Calcular las derivadas 𝑦𝑦 ′ = 𝑦𝑦 − 𝑥𝑥

Y en base al algoritmo y a las fórmulas descritas obtenemos el siguiente cuadro realizado en Excel.

109


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Tabla 9: Método de Runge- Kutta de tercer orden en hoja electrónica excel i 0 1 2 3 4 5 6 7 8 9 10

xi 0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

yi aprox 2.0000 2.2052 2.4214 2.6498 2.8918 3.1487 3.4221 3.7137 4.0255 4.3595 4.7182

k1 0.200 0.211 0.222 0.235 0.249 0.265 0.282 0.301 0.323 0.346

k2 0.205 0.216 0.228 0.242 0.257 0.273 0.291 0.311 0.334 0.358

k3 0.211 0.223 0.236 0.250 0.266 0.283 0.302 0.324 0.347 0.373

xi+1 yi+1=yi+h y'i 0.100 2.205 0.200 2.421 0.300 2.650 0.400 2.892 0.500 3.149 0.600 3.422 0.700 3.714 0.800 4.025 0.900 4.360 1.000 4.718

yi exacto 2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

Error relativo 0.000 0.000 0.000 0.001 0.001 0.001 0.001 0.001 0.002 0.002 0.002

Fuente: Elaboración propia

Programa 26: Para graficar con el Método de Runge- Kutta de tercer orden % Parámetros iniciales x0 = 0; y0 = 2; N = 10; h = (1 - 0) / N; % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); k1 = zeros(1, N); k2 = zeros(1, N); k3 = zeros(1, N); y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Valores iniciales x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(x0) + x0 + 1; % Solución exacta de la ecuación diferencial % Método de Runge-Kutta de tercer orden for i = 1:N k1(i) = h * (y_aprox(i) - x(i)); k2(i) = h * ((y_aprox(i) + 0.5 * k1(i)) - (x(i) + 0.5 * h)); k3(i) = h * ((y_aprox(i) + k2(i)) - (x(i) + h)); y_aprox(i+1) = y_aprox(i) + (1/6) * (k1(i) + 4 * k2(i) + k3(i));

110


en Ingeniería con sus métodos y aplicaciones

x(i+1) = x(i) + h; y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta de la ecuación diferencial error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end % Crear la tabla tabla = table((0:N)', x', y_aprox', [k1, NaN]', [k2, NaN]', [k3, NaN]', x', y_aprox', y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'k1', 'k2', 'k3', 'xi_1', 'yi_1', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla con 4 decimales fprintf('%2s %5s %9s %9s %9s %9s %9s %9s %9s %15s\n', 'i', 'xi', 'yi_aprox', 'k1', 'k2', 'k3', 'xi_1', 'yi_1', 'yi_exacto', 'Error_relativo'); for i = 1:height(tabla) fprintf('%2d %5.3f %9.4f %9.3f %9.3f %9.3f %9.3f %9.3f %9.3f %15.4f\n', tabla{i, 1}, tabla{i, 2}, tabla{i, 3}, tabla{i, 4}, tabla{i, 5}, tabla{i, 6}, tabla{i, 7}, tabla{i, 8}, tabla{i, 9}, tabla{i, 10}); end % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Método de Runge-Kutta de tercer orden'); legend show; grid on;

111


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Tabla 10: Método de Runge Kutta de tercer orden en un programa de Matlab

i

xi

yi_aprox

k1

k2

k3

0 0.000 1 0.100 2 0.200 3 0.300 4 0.400 5 0.500 6 0.600 7 0.700 8 0.800 9 0.900 10 1.000

2.0000 2.2051 2.4212 2.6495 2.8914 3.1481 3.4213 3.7126 4.0241 4.3578 4.7161

0.200 0.211 0.222 0.235 0.249 0.265 0.282 0.301 0.322 0.346 NaN

0.205 0.216 0.228 0.242 0.257 0.273 0.291 0.311 0.334 0.358 NaN

0.211 0.222 0.235 0.249 0.265 0.282 0.301 0.322 0.346 0.372 NaN

xi_1 0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

yi_1

yi_exac E_relat

2.000 2.205 2.421 2.650 2.891 3.148 3.421 3.713 4.024 4.358 4.716

2.000 2.205 2.421 2.650 2.892 3.149 3.422 3.714 4.026 4.360 4.718

0.0000 0.0000 0.0001 0.0001 0.0002 0.0002 0.0003 0.0003 0.0004 0.0004 0.0005

Fuente: Elaboración propia

Figura 26: Solución E.D. aplicando el método Runge-Kutta de tercer orden

Fuente: Elaboración propia

112


en Ingeniería con sus métodos y aplicaciones

3.6 Método de Runge-kutta de cuarto orden La idea principal detrás del método de Runge-Kutta de cuarto orden es utilizar una combinación ponderada de pendientes en diferentes puntos dentro de un paso de tiempo para calcular una mejor aproximación de la solución. Este método se deriva de la expansión de Taylor de la solución de la EDO en torno a un punto y su precisión está respaldada por análisis matemáticos detallados. Este método utiliza cuatro pendientes intermedias para calcular una aproximación de la solución en cada paso de tiempo. Estas pendientes intermedias se calculan mediante la evaluación de la función en varios puntos dentro del paso de tiempo, y luego se combinan ponderadamente para obtener una aproximación más precisa de la pendiente en el punto final del paso de tiempo. Este método también es conocido por ser altamente preciso y estable para una amplia gama de problemas de EDO. Aunque es más costoso computacionalmente que métodos de orden inferior como el método de Euler o el método de Runge-Kutta de segundo orden, su mayor precisión lo hace ampliamente utilizado en aplicaciones donde se requiere una alta precisión numérica. Además, su estructura modular y su capacidad para adaptarse a diferentes problemas lo convierten en una herramienta versátil para la resolución de EDO en diversos campos de la ciencia y la ingeniería. El sustento matemático del método de Runge-Kutta de cuarto orden se basa en la teoría de las ecuaciones diferenciales ordinarias y en la aproximación numérica de la solución de estas ecuaciones tal como se indica a continuación. •

Expansión de Taylor: Este método al igual que el de tercer orden se deriva de la expansión de Taylor de la solución de una ecuación diferencial ordinaria (EDO). La expansión de Taylor es una técnica utilizada para aproximar funciones en términos de una serie infinita de derivadas de la función en un punto dado. Al truncar esta serie a un número finito de términos, podemos obtener una aproximación de la solución de la EDO en un paso de tiempo dado.

•

Desarrollo de polinomios interpolantes: El método de Runge-Kutta de cuarto orden utiliza polinomios interpolantes para aproximar la solución de la EDO en un paso de tiempo. Estos polinomios interpolantes se construyen utilizando información sobre la función en varios puntos dentro del paso de tiempo. Al usar un polinomio interpolante de cuarto grado, se obtiene una aproximación más precisa de la solución en comparación con métodos de orden inferior.

•

Análisis de estabilidad y convergencia: Además de su derivación teórica, el método de Runge-Kutta de cuarto orden también se estudia desde el punto de vista de su estabilidad y convergencia. Se realizan análisis matemáticos para determinar las condiciones bajo las cuales el método es estable y produce soluciones convergentes.

113


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Algoritmo El algoritmo para utilizar el método de Runge-Kutta de cuarto orden para resolver una Ecuación Diferencial Ordinaria (EDO) se indica a continuación: Los tres primeros pasos son idénticos a los que se indicó en el método de Runge Kutta de tercer orden, tales como: Definición del problema, discretización del dominio, Elección del tamaño del paso(ℎ). Iteración del método de Runge-Kutta de cuarto orden: Inicializa la solución 𝑦𝑦0 con el valor inicial dado.

Para cada paso 𝑖𝑖 desde 𝑖𝑖 = 0 hasta el número total de pasos necesarios: Calcula las pendientes 𝑘𝑘1 , 𝑘𝑘2 , 𝑘𝑘3 y 𝑘𝑘4 utilizando las siguientes fórmulas: 𝑘𝑘1 = ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

ℎ 𝑘𝑘1 𝑘𝑘2 = ℎ . 𝑓𝑓 (𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + ) 2 2

ℎ 𝑘𝑘2 𝑘𝑘3 = ℎ . 𝑓𝑓 (𝑥𝑥𝑖𝑖 + , , 𝑦𝑦𝑖𝑖 + ) 2 2 𝑘𝑘3 = ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 + 𝑘𝑘3 )

Calcula el valor de 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

1 6

(𝑘𝑘1 + 2 𝑘𝑘2 + 2𝑘𝑘3 + 𝑘𝑘4 )

A continuación, actualizamos 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Obtención de la solución: Después de completar todas las iteraciones, la solución aproximada de la EDO estará disponible en 𝑦𝑦 en los puntos discretizados del dominio. Ejercicio de aplicación

Para poder comparar con los métodos anteriores se plantea la misma ecuación diferencial de primer 𝑑𝑑𝑑𝑑 orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial.

Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de Taylor para resolver la ecuación diferencial. 𝑑𝑑𝑑𝑑 = 𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥

Punto inicial: 𝑦𝑦(0) = 2

𝑑𝑑𝑑𝑑

Paso de integración ℎ = 0.1

Calcular las derivadas 𝑦𝑦 ′ = 𝑦𝑦 − 𝑥𝑥

Y en base al algoritmo y a las fórmulas descritas obtenemos el siguiente cuadro realizado en Excel.

114


en Ingeniería con sus métodos y aplicaciones

Tabla 11: Método de Runge- Kutta de cuarto orden en hoja electrónica excel i

xi

yi aprox

k1

k2

k3

K4

xi+1

yi+1

yi exac

Error relat

0

0.000

2.000

0.200

0.205

0.2053

0.2105

0.100

2.2052

2.000

0.000

1

0.100

2.205

0.211

0.216

0.2163

0.2221

0.200

2.4214

2.205

0.000

2

0.200

3

0.300

2.421

0.222

0.228

0.2286

0.2350

0.300

2.6499

2.421

0.000

2.650

0.235

0.242

0.2421

0.2492

0.400

2.8918

2.650

0.000

4 5

0.400

2.892

0.249

0.257

0.2570

0.2649

0.500

3.1487

2.892

0.000

0.500

3.149

0.265

0.273

0.2735

0.2822

0.600

3.4221

3.149

0.000

6

0.600

3.422

0.282

0.291

0.2918

0.3014

0.700

3.7138

3.422

0.000

7

0.700

3.714

0.301

0.311

0.3119

0.3226

0.800

4.0255

3.714

0.000

8

0.800

4.026

0.323

0.334

0.3342

0.3460

0.900

4.3596

4.026

0.000

9

0.900

4.360

0.346

0.358

0.3589

0.3718

1.000

4.7183

4.360

0.000

10

1.000

4.718

4.718

0.000

Fuente: Elaboración propia

Programa 27: Para graficar con el Método de Runge- Kutta de cuarto orden % Parámetros iniciales x0 = 0; y0 = 2; N = 10; h = (1 - 0) / N; % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); k1 = zeros(1, N); k2 = zeros(1, N); k3 = zeros(1, N); k4 = zeros(1, N); y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Valores iniciales x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(x0) + x0 + 1; % Solución exacta de la ecuación diferencial % Método de Runge-Kutta de cuarto orden for i = 1:N k1(i) = h * (y_aprox(i) - x(i)); k2(i) = h * ((y_aprox(i) + 0.5 * k1(i)) - (x(i) + 0.5 * h)); k3(i) = h * ((y_aprox(i) + 0.5 * k2(i)) - (x(i) + 0.5 * h)); 115


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

k4(i) = h * ((y_aprox(i) + k3(i)) - (x(i) + h)); y_aprox(i+1) = y_aprox(i) + (1/6) * (k1(i) + 2 * k2(i) + 2 * k3(i) + k4(i)); x(i+1) = x(i) + h; y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta de la ecuación diferencial error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end % Crear la tabla tabla = table((0:N)', x', y_aprox', [k1, NaN]', [k2, NaN]', [k3, NaN]', [k4, NaN]', x', y_aprox', y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'k1', 'k2', 'k3', 'k4', 'xi_1', 'yi_1', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla con 4 decimales fprintf('%2s %5s %9s %9s %9s %9s %9s %9s %9s %15s\n', 'i', 'xi', 'yi_aprox', 'k1', 'k2', 'k3', 'k4', 'xi_1', 'yi_1', 'yi_exac', 'Error_relat');} for i = 1:height(tabla) fprintf('%2d %5.1f %9.4f %9.3f %9.3f %9.3f %9.3f %9.3f %9.3f %15.4f\n', tabla{i, 1}, tabla{i, 2}, tabla{i, 3}, tabla{i, 4}, tabla{i, 5}, tabla{i, 6}, tabla{i, 7}, tabla{i, 8}, tabla{i, 9}, tabla{i, 10}); end % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Método de Runge-Kutta de cuarto orden'); legend show; grid on;

116


en Ingeniería con sus métodos y aplicaciones

Tabla 12: Método de Runge Kutta de cuarto orden en un programa de Matlab i

xi

yi_aprox

k1

k2

k3

k4

xi_1

yi_1

0 0.0 1 0.1 2 0.2 3 0.3 4 0.4 5 0.5 6 0.6 7 0.7 8 0.8 9 0.9 10 1.0

2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

0.200 0.211 0.222 0.235 0.249 0.265 0.282 0.301 0.323 0.346 NaN

0.205 0.216 0.228 0.242 0.257 0.273 0.291 0.311 0.334 0.358 NaN

0.205 0.216 0.229 0.242 0.257 0.274 0.292 0.312 0.334 0.359 NaN

0.211 0.222 0.235 0.249 0.265 0.282 0.301 0.323 0.346 0.372 NaN

0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

2.000 2.205 2.421 2.650 2.892 3.149 3.422 3.714 4.026 4.360 4.718

yi_exac E_relat 2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Fuente: Elaboración propia Figura 27: Solución E.D. aplicando el método de Runge-Kutta de cuarto orden

Fuente: Elaboración propia

3.7 Método de estimación corrección El método de estimación-corrección es una técnica iterativa utilizada en la resolución de ecuaciones diferenciales ordinarias (EDO). Este enfoque combina dos pasos: una estimación inicial de la solución y una corrección posterior basada en esa estimación, el objetivo es mejorar la precisión de la solución aproximada, este método puede entenderse como una variante de los métodos de predicción-corrección, donde se hace una primera aproximación (estimación) de la solución y luego se refina esa aproximación (corrección) usando la información adicional obtenida a partir de la primera estimación. 117


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

•

Segundo Orden

Para el caso específico de un método de segundo orden de estimación-corrección, se suelen seguir los siguientes pasos: Estimación Inicial (Predicción): Se utiliza un método explícito de primer orden, como el método de Euler, para hacer una primera estimación de la solución en un punto posterior. Este paso generalmente tiene la forma: 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝

donde ℎ es el tamaño del paso, 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) es la función que describe la EDO, y 𝑦𝑦𝑖𝑖+1 es la estimación inicial de 𝑦𝑦𝑖𝑖+1 •

Corrección

Se mejora la estimación inicial utilizando un método de segundo orden. Una manera común de hacer esto es calcular una pendiente promedio entre la pendiente en el punto inicial y la pendiente en el punto estimado: 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

ℎ 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 [𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 )] 2

Esto resulta en una aproximación más precisa porque tiene en cuenta tanto la pendiente inicial como la pendiente en el punto estimado. Algoritmo 1.- Definir el problema: Dada una ecuación diferencial de la forma

𝑑𝑑𝑑𝑑 𝑑𝑑𝑑𝑑

𝑦𝑦(𝑥𝑥𝑜𝑜 ) = 𝑦𝑦0 , y el intervalo de solución 𝑥𝑥 𝜖𝜖 [𝑥𝑥0 , 𝑦𝑦𝑓𝑓 ]

= 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ), con la condición inicial

Escoger un tamaño de paso ℎ y calcular el número de pasos 𝑁𝑁 como

Inicializar valores

𝑁𝑁 =

Establecer 𝑥𝑥𝑜𝑜 y 𝑦𝑦0

𝑥𝑥𝑓𝑓 − 𝑥𝑥0 ℎ

Crear arreglos para almacenar los valores de 𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 , y otras variables si es necesario. Iteración a través de los pasos:

Para 𝑖𝑖 = 0 hasta 𝑁𝑁 − 1, realizar lo siguiente: Estimación Inicial (Predicción):

𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 )

Calcular el valor estimado de 𝑦𝑦 en el siguiente punto 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

118


en Ingeniería con sus métodos y aplicaciones

Corrección: 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

ℎ 𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 [𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 )] 2

Ajustar la estimación inicial calculando la pendiente promedio entre 𝑥𝑥𝑖𝑖 y 𝑥𝑥𝑖𝑖+1

Actualizar 𝑥𝑥𝑖𝑖 : 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Calcular el siguiente valor de 𝑥𝑥 y proceder con la siguiente iteración.

Obtener la solución: Una vez que se completan todas las iteraciones, los valores de 𝑦𝑦𝑖𝑖 aproximados para cada 𝑥𝑥𝑖𝑖 estarán almacenados y se habrán aproximado los valores de la solución de la EDO en los puntos sincretizados del intervalo. Ejercicio de Aplicación

Para poder comparar con los métodos anteriores se plantea la misma ecuación diferencial de primer 𝑑𝑑𝑑𝑑 orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial.

Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de Taylor para resolver la ecuación diferencial. 𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥 𝑑𝑑𝑑𝑑 = 𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑 Punto inicial: 𝑦𝑦(0) = 2

Paso de integración ℎ = 0.1

Calcular las derivadas 𝑦𝑦 ′ = 𝑦𝑦 − 𝑥𝑥

Y en base al algoritmo y a las fórmulas descritas obtenemos el siguiente cuadro realizado en Excel. Tabla 13: Método de estimación- corrección en hoja electrónica excel i

xi

yi aprox

0 1 2 3 4 5 6 7 8 9 10

0.0000 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000

2.0000 2.2050 2.4213 2.6498 2.8919 3.1489 3.4224 3.7142 4.0262 4.3605 4.7194

xi+1

yi+1

y' i+1

yi+1

yi exacto

Error relativo

2.0000 0.1000 2.1050 0.2000 2.2213 0.3000 2.3498 0.4000 2.4919 0.5000 2.6489 0.6000 2.8224 0.7000 3.0142 0.8000 3.2262 0.9000 3.4605 1.0000 3.7194 1.1000

2.2000 2.4210 2.6493 2.8913 3.1482 3.4217 3.7134 4.0253 4.3594 4.7183 5.1043

2.1000 2.2050 2.2210 2.4213 2.3493 2.6498 2.4913 2.8919 2.6482 3.1489 2.8217 3.4224 3.0134 3.7142 3.2253 4.0262 3.4594 4.3605 3.7183 4.7194 4.0043

2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

0.0000 0.0078 0.0042 0.0012 0.0020 0.0053 0.0086 0.0121 0.0158 0.0196 0.0236

y'i

Fuente: Elaboración propia

119


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Programa 28: Para graficar con el Método de estimación corrección % Definir la función que describe la EDO f = @(x, y) y - x; % Parámetros iniciales x0 = 0; y0 = 2; N = 10; % Número de pasos h = 0.1; % Tamaño del paso % Inicialización de variables x = zeros(1, N+1); y_aprox = zeros(1, N+1); y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); y_prime = zeros(1, N+1); % Para almacenar y' y_corrected = zeros(1, N+1); % Para almacenar y'_corregido y_pred = zeros(1, N+1); % Para almacenar yi+1=yi+h y'i % Valores iniciales x(1) = x0; y_aprox(1) = y0; y_exacto(1) = exp(x0) + x0 + 1; % Solución exacta de la ecuación diferencial y_prime(1) = f(x0, y0); % Método de Estimación-Corrección de Segundo Orden for i = 1:N % Predicción y_pred(i+1) = y_aprox(i) + h * y_prime(i); % Cálculo de f en el nuevo punto f_pred = f(x(i) + h, y_pred(i+1)); % Corrección y_corrected(i+1) = y_aprox(i) + (h/2) * (y_prime(i) + f_pred); % Actualización de x, y', y el valor corregido de y x(i+1) = x(i) + h; y_prime(i+1) = f(x(i+1), y_corrected(i+1)); y_aprox(i+1) = y_corrected(i+1); % Cálculo de la solución exacta y el error relativo y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta error_relativo(i+1) = abs((y_exacto(i+1) - y_aprox(i+1)) / y_exacto(i+1)); end % Crear la tabla con todas las variables teniendo la misma longitud xi_plus_1 = [x(2:end) NaN]; % Se agrega un NaN para igualar las longitudes y_prime_corr = [y_prime(2:end) NaN]; 120


en Ingeniería con sus métodos y aplicaciones

y_pred_corr = [y_pred(2:end) NaN]; y_corrected_corr = [y_corrected(2:end) NaN]; tabla = table((0:N)', x', y_aprox', y_prime', ... xi_plus_1', y_pred_corr', y_prime_corr', ... y_corrected_corr', y_exacto', error_relativo', ... 'VariableNames', {'i', 'xi', 'yi_aprox', 'y_prime_i', ... 'xi_plus_1', 'yi_plus_1_est', 'y_prime_i_plus_1_corr', ... 'yi_plus_1_corr', 'yi_exacto', 'Error_relativo'}); % Mostrar la tabla disp(tabla); % Graficar las curvas figure; plot(x, y_aprox, '-o', 'DisplayName', 'y aprox'); hold on; plot(x, y_exacto, '-x', 'DisplayName', 'y exacto'); hold off; xlabel('x'); ylabel('y'); title('Comparación de y aprox y y exacto usando el método de Estimación-Corrección de Segundo Orden'); legend show; grid on; Tabla 14: Método de estimación- corrección en un programa de Matlab

i

xi

yi_aprox

0

0

2

1

0.1

2.205

y_prim

yi_p_1_est

y_p_i_p_1_corr

2

xi_plus_1 0.1

2.2

2.105

yi_p_1_corr

yi_exac

2.205

2

2.105

0.2

2.4155

2.221

2.421

Error_relativo 0

2.2052

7.7508e-05

2

0.2

2.421

2.221

0.3

2.6431

2.3492

2.6492

2.4214

0.00015601

3

0.3

2.6492

2.3492

0.4

2.8842

2.4909

2.8909

2.6499

0.00023631

4

0.4

2.8909

2.4909

0.5

3.14

2.6474

3.1474

2.8918

0.00031905

5

0.5

3.1474

2.6474

0.6

3.4122

2.8204

3.4204

3.1487

0.00040477

6

0.6

3.4204

2.8204

0.7

3.7025

3.0116

3.7116

3.4221

0.00049388

7

0.7

3.7116

3.0116

0.8

4.0127

3.2228

4.0228

3.7138

0.00058674

8

0.8

4.0228

3.2228

0.9

4.3451

3.4562

4.3562

4.0255

0.00068364

9

0.9

4.3562

3.4562

1

4.7018

3.7141

4.7141

4.3596

0.00078478

10

1

4.7141

3.7141

NaN

NaN

NaN

NaN

4.7183

0.00089036

Fuente: Elaboración propia

121


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Figura 28: Solución E.D. aplicando el método de estimación corrección

3.8 Método de Milne El método de Milne, también conocido como método de predicción-corrección de segundo orden, es un método numérico utilizado para resolver ecuaciones diferenciales ordinarias (EDO). Este método combina una técnica de predicción con una técnica de corrección para mejorar la precisión de la aproximación de la solución de la EDO. Su fundamentación teórica se basa en la extrapolación de Richardson y en la integración de Newton-Cotes, mismo que tiene su fundamentación teórica en:

122

•

Extrapolación de Richardson: La extrapolación de Richardson es una técnica utilizada para mejorar la precisión de una aproximación numérica al combinar varias aproximaciones con diferentes tamaños de paso. En el contexto del método de Milne, se utilizan cuatro aproximaciones numéricas de segundo orden en un intervalo de tiempo dado para mejorar la precisión de la solución.

•

Integración de Newton-Cotes: El método de Milne utiliza una regla de integración de Newton-Cotes para aproximar la solución de la EDO en un paso de tiempo. Esta regla de integración implica la evaluación de la función en varios puntos dentro del intervalo de integración y la combinación ponderada de estos valores para obtener una aproximación de la integral de la función.


en Ingeniería con sus métodos y aplicaciones

•

Método de predicción-corrección: El método de Milne combina una etapa de predicción con una etapa de corrección para mejorar la precisión de la solución aproximada. En la etapa de predicción, se utilizan tres aproximaciones de la solución en puntos equidistantes dentro del intervalo de tiempo para predecir el valor de la solución en el próximo paso de tiempo. En la etapa de corrección, se calcula una nueva aproximación de la solución utilizando la regla de integración de Newton-Cotes en un intervalo extendido, que incluye el paso de tiempo actual y el siguiente. Esta nueva aproximación se utiliza para corregir la predicción inicial y obtener una mejor estimación de la solución en el próximo paso de tiempo.

•

Orden de convergencia: El método de Milne es de segundo orden de convergencia, lo que significa que el error de aproximación disminuye proporcionalmente al cuadrado del tamaño del paso. Esto se deriva de la combinación de aproximaciones de segundo orden en la etapa de predicción y el uso de la regla de integración de Newton-Cotes para mejorar la precisión de la solución.

Algoritmo Igual a los métodos anteriores el algoritmo tiene común los tres primeros pasos como son la definición del problema, la discretización del dominio y la elección del tamaño del paso ℎ. Continuando con los siguientes pasos. •

Iteración del método de Milne: Inicializa la solución 𝑦𝑦0 con el valor inicial dado. Para cada paso 𝑖𝑖 desde 𝑖𝑖 = 0 hasta el número total de pasos necesarios:

o Predicción: ▪ Utiliza el método de Runge-Kutta de segundo orden para estimar 𝑦𝑦 ∗ 𝑖𝑖+1 en el siguiente paso de tiempo. Esto se hace calculando 𝑦𝑦 ∗ 𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + 2ℎ𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ). o Corrección: ▪ Utiliza la regla de integración de Simpson para calcular 𝑦𝑦𝑖𝑖+1 en el siguiente paso de tiempo. Esto se hace calculando ℎ

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + [𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 4𝑓𝑓(𝑥𝑥𝑖𝑖+ 1⁄2 . 𝑦𝑦𝑖𝑖+ 1⁄2 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖+ 1 . 𝑦𝑦 ∗ 𝑖𝑖+ 1 ), 3

ℎ

donde 𝑥𝑥𝑖𝑖+ 1⁄2 = 𝑥𝑥𝑖𝑖 + y 𝑦𝑦𝑖𝑖+ 1⁄2 es la estimación de 𝑦𝑦 en 𝑥𝑥𝑖𝑖+ 1⁄2 2 obtenida en la etapa de predicción.

o Actualización de variables:

Actualiza 𝑥𝑥𝑖𝑖 a 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ Actualiza 𝑦𝑦𝑖𝑖 a 𝑦𝑦𝑖𝑖+1 .

Utiliza 𝑦𝑦𝑖𝑖+1 como la nueva estimación inicial para la siguiente iteración.

123


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Obtención de la solución: Después de completar todas las iteraciones, la solución aproximada de la EDO estará disponible en 𝑦𝑦, en los puntos discreteados del dominio.

•

Ejercicio de Aplicación

Para poder comparar con los métodos anteriores se plantea la misma ecuación diferencial de primer 𝑑𝑑𝑑𝑑 orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2; encontrar 𝑦𝑦(1) 𝑑𝑑𝑑𝑑

a) Utilizando método para resolver la ecuación diferencial.

Al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

b) Utilizando el algoritmo del método aproximado de Taylor para resolver la ecuación diferencial. 𝑦𝑦´ = 𝑦𝑦 − 𝑥𝑥 𝑑𝑑𝑑𝑑 = 𝑦𝑦´ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦) 𝑑𝑑𝑑𝑑 Punto inicial: 𝑦𝑦(0) = 2

Paso de integración ℎ = 0.1

Calcular las derivadas 𝑦𝑦 ′ = 𝑦𝑦 − 𝑥𝑥

Y en base al algoritmo y a las fórmulas descritas obtenemos el siguiente cuadro Tabla 15: Método de Milne en hoja electrónica excel i

xi

yi aprox

0 1 2 3 4 5 6 7 8 9 10

0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

2.000 2.0000 0.20 0.21 0.21 0.21 0.10 2.205 2.11 2.0000 2.2052 0.21 0.22 0.22 0.22 0.20 2.421 2.22 2.2052 2.4214 0.22 0.23 0.23 0.23 0.30 2.650 2.35 2.4214 2.6499 0.40 2.892 2.49 2.89 2.6499 2.8918 0.50 3.149 2.65 3.15 2.8918 3.1487 0.60 3.422 2.82 3.42 3.1487 3.4221 0.70 3.714 3.01 3.71 3.4221 3.7138 0.80 4.026 3.23 4.03 3.7138 4.0255 0.90 4.360 3.46 4.36 4.0255 4.3596 1.00 4.718 3.72 4.72 4.3596 4.7183 4.7183

k1

k2

k3

k4

xi+1 yi+1 yi'

Fuente: Elaboración propia

Programa 29: Para graficar con el Método de Milne % Parámetros del problema h = 0.1; % paso N = 10; % número de iteraciones

124

py

yi exac

Err. Relat 0.00000 0.00000 0.00001 0.00001 0.00001 0.00003 0.00003 0.00005 0.00006 0.00008 0.00009


en Ingeniería con sus métodos y aplicaciones

% Inicializar vectores x = zeros(1, N+1); y = zeros(1, N+1); k1 = zeros(1, N+1); k2 = zeros(1, N+1); k3 = zeros(1, N+1); k4 = zeros(1, N+1); py = zeros(1, N+1); % Predictor y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1); % Condición inicial x(1) = 0; y(1) = 2; y_exacto(1) = 2; % Ajustar según la función exacta si es conocida error_relativo(1) = 0; % Definir la función f(x, y) f = @(x, y) y - x; % Modificar según la ecuación diferencial del problema % Usar Runge-Kutta para inicializar los primeros cuatro valores for i = 1:3 x(i+1) = x(i) + h; k1(i) = h * f(x(i), y(i)); k2(i) = h * f(x(i) + h/2, y(i) + k1(i)/2); k3(i) = h * f(x(i) + h/2, y(i) + k2(i)/2); k4(i) = h * f(x(i) + h, y(i) + k3(i)); y(i+1) = y(i) + (k1(i) + 2*k2(i) + 2*k3(i) + k4(i))/6; y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Ajustar según la función exacta error_relativo(i+1) = abs((y_exacto(i+1) - y(i+1)) / y_exacto(i+1)); end % Método de Milne para i >= 4 for i = 4:N x(i+1) = x(i) + h; % Predictor py(i+1) = y(i-3) + 4*h/3 * (2*f(x(i), y(i)) - f(x(i-1), y(i-1)) + 2*f(x(i-2), y(i-2))); % Corrector y(i+1) = y(i-1) + h/3 * (f(x(i-1), y(i-1)) + 4*f(x(i), y(i)) + f(x(i+1), py(i+1))); y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Ajustar según la función exacta error_relativo(i+1) = abs((y_exacto(i+1) - y(i+1)) / y_exacto(i+1)); end

125


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

% Mostrar resultados fprintf('%2s %8s %15s %12s %16s %17s\n', 'i', 'xi', 'pyi', 'yi', 'y_exacto i', 'Error relativo'); for i = 0:N fprintf('%2d %8.4f %9.4f %10.4f %12.4f %9.4f\n', ... i, x(i+1), py(i+1), y(i+1), y_exacto(i+1), error_relativo(i+1)); end % Graficar las curvas figure; plot(x, y, 'b-o', 'DisplayName', 'Solución aproximada (Milne)'); hold on; plot(x, y_exacto, 'r-*', 'DisplayName', 'Solución exacta'); xlabel('x'); ylabel('y(x)'); title('Comparación entre la solución aproximada y la solución exacta'); legend show; grid on; Tabla 16: Método de Milne en un programa de Matlab

i

xi

pyi

yi

y_exacto i

0 0.0000

0.0000

2.0000

2.0000

0.0000

1 0.1000

0.0000

2.2052

2.2052

0.0000

2 0.2000

0.0000

2.4214

2.4214

0.0000

3 0.3000

0.0000

2.6499

2.6499

0.0000

4 0.4000

2.8918

2.8918

2.8918

0.0000

5 0.5000

3.1487

3.1487

3.1487

0.0000

6 0.6000

3.4221

3.4221

3.4221

0.0000

7 0.7000

3.7137

3.7138

3.7138

0.0000

8 0.8000

4.0255

4.0255

4.0255

0.0000

9 0.9000

4.3596

4.3596

4.3596

0.0000

10 1.0000

4.7183

4.7183

4.7183

0.0000

Fuente: Elaboración propia

126

Error relativo


en Ingeniería con sus métodos y aplicaciones

Figura 29: Solución E.D. aplicando el método de Milne

Fuente: Elaboración propia

3.9 Método de Hamming El método de Hamming es una técnica numérica que se utiliza para resolver ecuaciones diferenciales ordinarias (EDOs) de primer orden. Este método pertenece a la familia de los métodos predictor-corrector, que son muy útiles para mejorar la precisión de las soluciones numéricas. El método de Hamming es particularmente conocido por su capacidad para reducir el error en los cálculos y ofrecer estimaciones estables a lo largo de las iteraciones. Es un método de cuatro pasos que se utiliza tanto para predecir (estimar) como para corregir (refinar) los valores de la solución en cada paso. Aquí se describe cómo funciona el método para una ecuación diferencial típica de la forma: 𝑦𝑦 ′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦)

Donde 𝑦𝑦′ es una derivada de 𝑦𝑦 respecto a 𝑥𝑥, y 𝑓𝑓(𝑥𝑥, 𝑦𝑦) es una función dada que describe la relación entre 𝑥𝑥 y 𝑦𝑦 Pasos del Método de Hamming

Inicialización: El método requiere valores iniciales que generalmente se obtienen usando otro método numérico, como Runge-Kutta, para calcular los primeros tres o cuatro puntos de la solución. Predicción: Utilizando los valores previamente calculados, se hace una predicción inicial del siguiente valor 𝑦𝑦𝑛𝑛+1 usando la fórmula:

127


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

𝑝𝑝

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖−3 +

4ℎ [2𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖−1 , 𝑦𝑦𝑖𝑖−1 ) + 2𝑓𝑓(𝑥𝑥𝑖𝑖−2 , 𝑦𝑦𝑖𝑖−2 )] 3

Esta es una extrapolación que utiliza los valores en los pasos anteriores para predecir el próximo valor. Corrección: Después de la predicción, el método de Hamming utiliza una fórmula correctora para refinar esta predicción: 𝑦𝑦𝑖𝑖+1 =

1 𝑝𝑝 𝑝𝑝 [ 9𝑦𝑦𝑖𝑖+1 − 𝑦𝑦𝑖𝑖−3 + 3ℎ( 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 )) + 2𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖−1 , 𝑦𝑦𝑖𝑖−1 )] 8 𝑝𝑝

Esta fórmula correctora no solo utiliza la predicción 𝑦𝑦𝑖𝑖+1 sino que también reintroduce el valor tres pasos antes 𝑦𝑦𝑖𝑖−3 y una combinación ponderada de las derivadas. Iteración: Este proceso se repite para cada nuevo punto en el dominio de la solución. Algoritmo Entradas: La función de la EDO 𝑦𝑦 ′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦)

Las condiciones iniciales: 𝑥𝑥𝑜𝑜 , 𝑦𝑦𝑜𝑜

El valor final de 𝑥𝑥 para el cual se desea la solución es 𝑥𝑥𝑓𝑓 El tamaño de paso: ℎ Salidas:

Vector de soluciones aproximadas: 𝑦𝑦

Vector de valores de 𝑥𝑥 correspondiente: 𝑥𝑥 Pasos:

Iteración para Predicción y Corrección: Para cada 𝑖𝑖 desde 4 hasta el número de pasos calculado como 𝑁𝑁 =

Predicción:

𝑝𝑝

Corrección:

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖−3 +

𝑦𝑦𝑖𝑖+1 =

ℎ

4ℎ [2𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖−1 , 𝑦𝑦𝑖𝑖−1 ) + 2𝑓𝑓(𝑥𝑥𝑖𝑖−2 , 𝑦𝑦𝑖𝑖−2 )] 3

1 𝑝𝑝 𝑝𝑝 [ 9𝑦𝑦𝑖𝑖+1 − 𝑦𝑦𝑖𝑖−3 + 3ℎ( 𝑓𝑓(𝑥𝑥𝑖𝑖+1 , 𝑦𝑦𝑖𝑖+1 )) + 2𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 ) + 𝑓𝑓(𝑥𝑥𝑖𝑖−1 , 𝑦𝑦𝑖𝑖−1 )] 8

Actualiza: 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Almacenamiento de Resultados: 128

𝑥𝑥𝑓𝑓 −𝑥𝑥0


en Ingeniería con sus métodos y aplicaciones

Almacena cada 𝑥𝑥𝑖𝑖+1 y 𝑦𝑦𝑖𝑖+1 calculado en los vectores 𝑥𝑥 y 𝑦𝑦 Retorno de resultados

Devuelve los vectores 𝑥𝑥 y 𝑦𝑦 de las soluciones aproximadas. Ejercicio de aplicación Como ya se explicó anteriormente, para poder comparar con los métodos anteriores se plantea la 𝑑𝑑𝑑𝑑 misma ecuación diferencial de primer orden = 𝑦𝑦 − 𝑥𝑥 ; 𝑦𝑦(0) = 2 𝑑𝑑𝑑𝑑

Por lo que, al ser el mismo problema la solución particular es la misma:

𝑦𝑦 = 𝑥𝑥 + 1 + 𝑒𝑒 𝑥𝑥

En base al algoritmo descrito y a las fórmulas obtenemos el siguiente cuadro en Excel. Tabla 17: Método de Hamming en hoja electrónica excel i 0 1 2 3 4 5 6 7 8 9 10

xi 0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00

yi aprox 2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

k1

k2

k3

k4

xi+1

yi+1

yi'

py

2.0000 0.2000 0.2050 0.2053 0.2105 0.1000 2.2052 2.1052 0.2105 0.2160 0.2163 0.2221 0.2000 2.4214 2.2214 0.2221 0.2282 0.2286 0.2350 0.3000 2.6499 2.3499 0.4000 2.8918 2.4918 2.8918 0.5000 3.1487 2.6487 3.1487 0.6000 3.4221 2.8221 3.4221 0.7000 3.7138 3.0137 3.7137 0.8000 4.0255 3.2255 4.0255 0.9000 4.3596 3.4596 4.3596 1.0000 4.7183 3.7183 4.7183

yi exacto

Err. relat

2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

Fuente: Elaboración propia

Programa 30: Para graficar con el Método de Hamming % Parámetros iniciales h = 0.1; % Tamaño del paso N = 10; % Número de pasos % Inicialización de los vectores x = zeros(1, N+1); y = zeros(1, N+1); py = zeros(1, N+1); % Predictor y_exacto = zeros(1, N+1); error_relativo = zeros(1, N+1);

129


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

% Condición inicial x(1) = 0; y(1) = 2; y_exacto(1) = 2; % Ajustar según la función exacta si es conocida error_relativo(1) = 0; % Definir la función f(x, y) f = @(x, y) y - x; % Modificar según la ecuación diferencial del problema % Usar Runge-Kutta para inicializar los primeros cuatro valores for i = 1:3 x(i+1) = x(i) + h; k1 = h * f(x(i), y(i)); k2 = h * f(x(i) + h/2, y(i) + k1/2); k3 = h * f(x(i) + h/2, y(i) + k2/2); k4 = h * f(x(i) + h, y(i) + k3); y(i+1) = y(i) + (k1 + 2*k2 + 2*k3 + k4)/6; y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta error_relativo(i+1) = abs((y_exacto(i+1) - y(i+1)) / y_exacto(i+1)); end % Método de Milne para i >= 4 for i = 4:N x(i+1) = x(i) + h; % Predictor py(i+1) = y(i-3) + 4*h/3 * (2*f(x(i), y(i)) - f(x(i-1), y(i-1)) + 2*f(x(i-2), y(i-2))); % Corrector y(i+1) = ((9 * y(i) - y(i-2)) / 8) + (3 * h / 8) * (f(x(i+1), py(i+1)) + 2 * f(x(i), y(i)) - f(x(i1), y(i-1))); y_exacto(i+1) = exp(x(i+1)) + x(i+1) + 1; % Solución exacta error_relativo(i+1) = abs((y_exacto(i+1) - y(i+1)) / y_exacto(i+1)); end % Mostrar resultados fprintf('%2s %8s %15s %12s %16s %17s\n', 'i', 'xi', 'pyi', 'yi', 'y_exacto i', 'Error relativo'); for i = 0:N fprintf('%2d %8.4f %9.4f %10.4f %12.4f %9.4f\n', ... i, x(i+1), py(i+1), y(i+1), y_exacto(i+1), error_relativo(i+1)); end % Graficar las curvas figure; plot(x, y, 'b-o', 'DisplayName', 'Solución aproximada (Hamming)'); hold on; plot(x, y_exacto, 'r-*', 'DisplayName', 'Solución exacta'); xlabel('x'); 130


en Ingeniería con sus métodos y aplicaciones

ylabel('y(x)'); title('Comparación entre la solución aproximada y la solución exacta'); legend show; grid on; Tabla 18: Método de Hamming en hoja electrónica excel

i

xi

pyi

yi

0 0.0000 1 0.1000 2 0.2000 3 0.3000 4 0.4000 5 0.5000 6 0.6000 7 0.7000 8 0.8000 9 0.9000 10 1.0000

0.0000 0.0000 0.0000 0.0000 2.8918 3.1487 3.4221 3.7137 4.0255 4.3596 4.7183

2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

y_exacto i 2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183

Error relativo 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

Fuente: Elaboración propia

Figura 30: Solución E.D. aplicando el método de Hamming

Fuente: Elaboración propia

131


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

MÉTODOS NUMÉRICOS PARA SISTEMAS 3.10

Método de Euler para sistemas

Para aplicar el método de Euler a una EDO de segundo orden, generalmente se reformula la ecuación en un sistema de dos EDOs de primer orden. Esto se hace introduciendo una variable adicional para reducir el orden de la ecuación. Una ecuación diferencial de segundo orden tiene típicamente la forma: 𝑦𝑦 ′′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑦𝑦 ′ )

donde 𝑦𝑦′′ es la segunda derivada de 𝑦𝑦 con respecto a 𝑥𝑥, y 𝑓𝑓 es una función de 𝑥𝑥, 𝑦𝑦, y la primera derivada 𝑦𝑦′. Reformulación como Sistema de Primer Orden

Para aplicar el método de Euler, primero convertimos esta EDO de segundo orden en un sistema de dos EDOs de primer orden. Introducimos una nueva variable 𝑣𝑣, tal que 𝑣𝑣 = 𝑦𝑦′. Esto nos da el siguiente sistema: 𝑦𝑦′ = 𝑣𝑣

𝑣𝑣′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑣𝑣)

Ahora, tenemos un sistema de dos ecuaciones de primer orden que podemos resolver usando el método de Euler. Método de Euler para Sistemas Para el sistema anterior, el método de Euler se aplica actualizando cada variable en cada paso a lo largo del dominio de la solución. Si consideramos un tamaño de paso ℎ, las actualizaciones para 𝑦𝑦 y 𝑣𝑣 desde un punto 𝑥𝑥𝑛𝑛 a 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ son:

𝑦𝑦𝑖𝑖 y 𝑣𝑣𝑖𝑖 son los valores e 𝑦𝑦 y 𝑣𝑣 en el paso h

𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 , 𝑣𝑣𝑖𝑖 ) es la evaluación de la función del lado derecho de la EDO original en el punto 𝑖𝑖.

El método de Euler para sistemas de EDOs de primer orden derivados de una EDO de segundo orden proporciona un marco simple y efectivo para obtener soluciones numéricas aproximadas, permitiendo visualizar y entender el comportamiento de soluciones a ecuaciones diferenciales complejas sin necesidad de soluciones analíticas. Algoritmo Definimos el tamaño de paso ℎ y el número de pasos 𝑁𝑁 para avanzar desde 𝑥𝑥 = 0 hasta 𝑥𝑥 = 𝑥𝑥𝑓𝑓 donde 𝑥𝑥𝑓𝑓 es el punto final de interés en el ejemplo 𝑥𝑥𝑓𝑓 = 1

El algoritmo de Euler se aplica de la siguiente manera: Inicialización:

132


en Ingeniería con sus métodos y aplicaciones

𝑥𝑥0 = 0

𝑦𝑦0 = 0

𝑣𝑣0 = 1

Iteración: Para cada 𝑖𝑖 = 0,1,2, … , 𝑁𝑁 − 1:

𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ . 𝑣𝑣𝑖𝑖

𝑣𝑣𝑖𝑖+1 = 𝑣𝑣𝑖𝑖 + ℎ . (𝑦𝑦𝑖𝑖 + 𝑥𝑥𝑖𝑖 ) 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ

Comparar con la solución real mediante la fórmula 𝑦𝑦𝑖𝑖 = 𝑒𝑒 𝑥𝑥𝑖𝑖 − 𝑒𝑒 −𝑥𝑥𝑖𝑖 − 𝑥𝑥𝑖𝑖

Ejercicio de aplicación

Resolver la ecuación diferencial 𝑦𝑦 " − 𝑦𝑦 = 𝑥𝑥

Con las condiciones iniciales

𝑦𝑦(0) = 0,

𝑦𝑦 ′ (0) = 1

Solución con el Método de los coeficientes indeterminados. - Se encuentra la solución de la ecuación homogénea asociada: 𝑦𝑦 " − 𝑦𝑦 = 0, para lo cual se procede a resolver el polinomio característico 𝑟𝑟 2 − 1 = 0,

Las raíces son 𝑟𝑟 = ±1 por lo que la solución general es real y se escribe como sigue: 𝑦𝑦ℎ (𝑥𝑥) = 𝐶𝐶1 𝑒𝑒 +𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 −𝑥𝑥

Se busca la solución particular en la forma

𝑦𝑦(𝑥𝑥) = 𝐴𝐴𝐴𝐴 + 𝐵𝐵, derivando 𝑦𝑦̃ ′ (𝑥𝑥) = 𝐴𝐴,

𝑦𝑦̃ ′′ (𝑥𝑥) = 0, reemplazando en la ecuación original −𝐴𝐴𝐴𝐴 − 𝐵𝐵 = 𝑥𝑥

−𝐴𝐴𝐴𝐴 = 𝑥𝑥 } 𝐵𝐵 = 0 𝐴𝐴 = −1, 𝐵𝐵 = 0,

{

𝑦𝑦̃(𝑥𝑥) = −𝑥𝑥

La solución total es la suma de la solución general más la particular: 𝑦𝑦𝑡𝑡 = 𝑦𝑦ℎ + 𝑦𝑦𝑝𝑝

𝑦𝑦𝑡𝑡 = 𝐶𝐶1 𝑒𝑒 +𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 −𝑥𝑥 − 𝑥𝑥

Se procede a buscar las constantes en base a las condiciones de frontera dadas, en este caso 𝑦𝑦(0) = 0, es decir; 𝑦𝑦(0) = 𝐶𝐶1 𝑒𝑒 +0 + 𝐶𝐶2 𝑒𝑒 −0 − 0 = 0

𝐶𝐶1 + 𝐶𝐶2 = 0

(1)

133


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

La segunda condición 𝑦𝑦 ′ (0) = 1 nos lleva a;

𝑦𝑦 ′ (0) = 𝐶𝐶1 𝑒𝑒 0 − 𝐶𝐶2 𝑒𝑒 0 − 1 = 1, de donde

𝐶𝐶1 − 𝐶𝐶2 = 2,

(2)

Resolviendo el sencillo sistema (1) y (2) llegamos a; 2𝐶𝐶1 = 2, finalmente: 𝐶𝐶1 = 1, 𝐶𝐶2 = −1 𝑦𝑦(𝑥𝑥) = 𝑒𝑒 𝑥𝑥 − 𝑒𝑒 −𝑥𝑥 − 𝑥𝑥

Programa 31: Para graficar con el Método de Euler para sistemas % Parámetros iniciales h = 0.1; % Tamaño del paso N = 10; % Número de pasos x_f = N * h; % Inicialización de variables x = linspace(0, x_f, N+1); y = zeros(1, N+1); v = zeros(1, N+1); y_exacto = zeros(1, N+1); % Condiciones iniciales y(1) = 0; v(1) = 1; y_exacto(1) = exp(x(1)) - exp(-x(1)) - x(1); % Cálculo de la solución exacta inicial % Encabezado para la salida impresa fprintf('%s\t%s\t\t%s\t\t%s\t%s\n', 'x(i)', 'y(i)', 'v(i)', 'y_exacta', 'Error relativo'); % Método de Euler for i = 1:N y(i+1) = y(i) + h * v(i); v(i+1) = v(i) + h * (y(i) + x(i)); % y" = y + x y_exacto(i+1) = exp(x(i+1)) - exp(-x(i+1)) - x(i+1); % Solución exacta en cada paso error_relativo = abs((y_exacto(i+1) - y(i+1)) / y_exacto(i+1)); fprintf('%.2f\t%.4f\t\t%.4f\t\t%.4f\t\t%.4f\n', x(i), y(i), v(i), y_exacto(i), error_relativo); end % Imprimir el último punto calculado fprintf('%.2f\t%.4f\t\t%.4f\t\t%.4f\t\t%.4f\n', x(N+1), y(N+1), v(N+1), y_exacto(N+1), error_relativo); % Visualizar los resultados figure; plot(x, y, 'b-o', 'DisplayName', 'Aproximación Euler');

134


en Ingeniería con sus métodos y aplicaciones

hold on; plot(x, y_exacto, 'r-*', 'DisplayName', 'Solución exacta'); xlabel('x'); ylabel('y'); title('Comparación de la solución aproximada y exacta de y'''' - y = x'); legend show; grid on; Tabla 19: Método de Euler para sistemas en un programa de Matlab

x(i)

y(i)

v(i)

0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00

0.0000 0.1000 0.2000 0.3020 0.4080 0.5200 0.6401 0.7704 0.9131 1.0705 1.2451

1.0000 1.0000 1.0200 1.0600 1.1202 1.2010 1.3030 1.4270 1.5741 1.7454 1.9424

Error y_exacta relativo 0.0000 0.1003 0.2027 0.3090 0.4215 0.5422 0.6733 0.8172 0.9762 1.1530 1.3504

0.0033 0.0132 0.0228 0.0320 0.0409 0.0493 0.0572 0.0646 0.0716 0.0780 0.0780

Fuente: Elaboración propia Figura 31: Solución E.D. aplicando el método de Euler para sistemas

Fuente: Elaboración propia

135


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

3.11

Método de Runge Kutta de cuarto orden para sistemas

El método de Runge-Kutta de cuarto orden (RK4) es un método numérico eficiente y popular para resolver ecuaciones diferenciales ordinarias (EDOs). Cuando se aplica a una ecuación diferencial de segundo orden, primero se convierte la ecuación en un sistema de ecuaciones de primer orden. Este enfoque permite aplicar el método RK4, que está diseñado para resolver sistemas de ecuaciones diferenciales de primer orden. Para lo cual consideremos una ecuación diferencial de segundo orden de la forma: 𝑦𝑦 ′′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑦𝑦 ′ ) Esta es una ecuación diferencial ordinaria de segundo orden, donde 𝑦𝑦′′ es la segunda derivada de 𝑦𝑦 con respecto a 𝑥𝑥, y 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑦𝑦 ′ ) es una función que depende de 𝑥𝑥, 𝑦𝑦, , y la primera derivada 𝑦𝑦 ′ .

Para aplicar el método de Runge-Kutta, primero transformamos la ecuación de segundo orden en un sistema de dos ecuaciones de primer orden. Esto se hace introduciendo una nueva variable intermedia, generalmente denotada por 𝑣𝑣 = 𝑦𝑦′ El sistema resultante es: 𝑦𝑦 ′ = 𝑣𝑣 𝑣𝑣 ′ = 𝑓𝑓(𝑥𝑥, 𝑦𝑦, 𝑣𝑣)

Que es un sistema de dos ecuaciones diferenciales de primer orden que podemos resolver usando el método de Runge-Kutta de cuarto orden, donde se estima a la solución en el punto 𝑥𝑥𝑖𝑖+1 = 𝑥𝑥𝑖𝑖 + ℎ, (donde ℎ es el tamaño del paso) utilizando cuatro cálculos intermedios, conocidos como 𝑘𝑘1 , 𝑘𝑘2 , 𝑘𝑘3 , 𝑘𝑘4 , que corresponden a los valores de las derivadas en puntos específicos entre 𝑥𝑥𝑖𝑖 y 𝑥𝑥𝑖𝑖+1 . Para el sistema de dos ecuaciones diferenciales de primer orden, los valores 𝑘𝑘1 , 𝑘𝑘2 , 𝑘𝑘3 y 𝑘𝑘4 se calculan para ambas variables 𝑦𝑦 y 𝑣𝑣. Los pasos del método RK4 son los siguientes: Para 𝑦𝑦: 𝑦𝑦

Para 𝑣𝑣:

136

𝑘𝑘1 = ℎ . 𝑣𝑣𝑖𝑖 𝑦𝑦 ℎ 𝑘𝑘 𝑘𝑘1𝑣𝑣 𝑦𝑦 ) 𝑘𝑘2 = ℎ . 𝑣𝑣𝑖𝑖 (𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + 1 , 𝑣𝑣𝑖𝑖 + 2 2 2 𝑦𝑦 ℎ 𝑘𝑘2 𝑘𝑘2𝑣𝑣 𝑦𝑦 𝑘𝑘3 = ℎ . 𝑣𝑣𝑖𝑖 (𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + , 𝑣𝑣 + ) 2 2 𝑖𝑖 2 𝑦𝑦 𝑦𝑦 𝑘𝑘4 = ℎ . 𝑣𝑣𝑖𝑖 (𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 + 𝑘𝑘3 , 𝑣𝑣𝑖𝑖 + 𝑘𝑘3𝑣𝑣 )

𝑘𝑘1𝑣𝑣 = ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 , 𝑦𝑦𝑖𝑖 , 𝑣𝑣𝑖𝑖 ) 𝑦𝑦 ℎ 𝑘𝑘 𝑘𝑘1𝑣𝑣 ) 𝑘𝑘2𝑣𝑣 = ℎ . 𝑣𝑣𝑖𝑖 𝑓𝑓 (𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + 1 , 𝑣𝑣𝑖𝑖 + 2 2 2 𝑦𝑦 ℎ 𝑘𝑘2 𝑘𝑘2𝑣𝑣 𝑣𝑣 𝑘𝑘3 = ℎ . 𝑓𝑓 (𝑥𝑥𝑖𝑖 + , 𝑦𝑦𝑖𝑖 + , 𝑣𝑣 + ) 2 2 𝑖𝑖 2 𝑦𝑦 𝑘𝑘4𝑣𝑣 = ℎ . 𝑓𝑓(𝑥𝑥𝑖𝑖 + ℎ, 𝑦𝑦𝑖𝑖 + 𝑘𝑘3 , 𝑣𝑣𝑖𝑖 + 𝑘𝑘3𝑣𝑣 )


en Ingeniería con sus métodos y aplicaciones

Al final del paso 𝑖𝑖, actualizamos los valores de 𝑦𝑦 y 𝑣𝑣 en el punto 𝑥𝑥𝑖𝑖+1 usando los promedios ponderados de los 𝑘𝑘 valores calculados anteriormente con 𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 +

Algoritmo:

1

𝑦𝑦

𝑦𝑦

𝑦𝑦

𝑦𝑦

(𝑘𝑘1 + 2 𝑘𝑘2 + 2 𝑘𝑘3 + 𝑘𝑘4 ) 1 𝑣𝑣𝑖𝑖+1 = 𝑣𝑣𝑖𝑖 + (𝑘𝑘1𝑣𝑣 + 2 𝑘𝑘2𝑣𝑣 + 2 𝑘𝑘3𝑣𝑣 + 𝑘𝑘4𝑣𝑣 ) 6 6

Inicialización: Establecer 𝑦𝑦(0) = 𝑦𝑦0 y 𝑣𝑣(0) = 𝑣𝑣0 (donde 𝑣𝑣0 = 𝑦𝑦′(0) según las condiciones iniciales), definir el número de pasos 𝑁𝑁 y el tamaño del paso ℎ.

Iteración: En cada paso 𝑖𝑖, calcular los valores 𝑘𝑘1 , 𝑘𝑘2 , 𝑘𝑘3 y 𝑘𝑘4 para 𝑦𝑦 y 𝑣𝑣 como se describió anteriormente, usar las ecuaciones de actualización para calcular 𝑦𝑦𝑖𝑖+1 y 𝑣𝑣𝑖𝑖+1 y repetir hasta que se alcance el valor final deseado de 𝑥𝑥. Resultado: Al final del proceso, se obtiene la solución aproximada de 𝑦𝑦 y 𝑣𝑣 en los puntos 𝑥𝑥0 , 𝑥𝑥1 ,…, 𝑥𝑥𝑁𝑁 .

Ejercicio de Aplicación Método de variación de parámetros Tratándose de la misma ecuación 𝑦𝑦 " − 𝑦𝑦 = 𝑥𝑥 se toma la solución a la ecuación homogénea: 𝑦𝑦(𝑥𝑥) = 𝐶𝐶1 𝑒𝑒 +𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 −𝑥𝑥

𝑦𝑦ℎ = 𝑢𝑢1 𝑒𝑒 +𝑥𝑥 + 𝑢𝑢2 𝑒𝑒 −𝑥𝑥 +𝑢𝑢2′ 𝑒𝑒 −𝑥𝑥 −𝑢𝑢2′ 𝑒𝑒 −𝑥𝑥

𝑢𝑢′ 𝑒𝑒 𝑥𝑥 { 1′ 𝑥𝑥 𝑢𝑢1 𝑒𝑒

sumando las dos expresiones tenemos;

=0 }, = 𝑥𝑥

2𝑢𝑢1′ 𝑒𝑒 𝑥𝑥 = 𝑥𝑥 1

𝑢𝑢1′ = 𝑥𝑥 𝑒𝑒 −𝑥𝑥 , que puede escribirse como 2

𝑑𝑑𝑢𝑢1 =

1 2

𝑥𝑥𝑒𝑒 −𝑥𝑥 𝑑𝑑𝑑𝑑,

1

1

misma que se debe integrar por partes respecto a x para obtener; 𝑢𝑢1 = − 𝑥𝑥𝑒𝑒 −𝑥𝑥 − 2

2

𝑒𝑒 −𝑥𝑥

Restando las dos expresiones del sistema tenemos;

−2𝑢𝑢2′ 𝑒𝑒 −𝑥𝑥 = 𝑥𝑥, que puede escribirse como; 1

𝑑𝑑𝑢𝑢2 = − 𝑥𝑥𝑒𝑒 𝑥𝑥 𝑑𝑑𝑑𝑑, 2

misma que se debe integrar por partes respecto a x y resulta; 1

𝑢𝑢2 = − 𝑥𝑥𝑒𝑒 𝑥𝑥 + 2

𝑒𝑒 𝑥𝑥 2

137


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Se suman u1 y u2 para obtener el siguiente resultado para la solución particular; 𝑦𝑦𝑝𝑝 = 𝑢𝑢1 𝑒𝑒 +𝑥𝑥 + 𝑢𝑢2 𝑒𝑒 −𝑥𝑥

1 1 1 𝑒𝑒 𝑥𝑥 𝑦𝑦𝑝𝑝 = (− 𝑥𝑥𝑒𝑒 −𝑥𝑥 − 𝑒𝑒 −𝑥𝑥 ) 𝑒𝑒 𝑥𝑥 + (− 𝑥𝑥𝑒𝑒 𝑥𝑥 + ) 𝑒𝑒 −𝑥𝑥 = −𝑥𝑥 2 2 2 2

Finalmente, la solución total queda como la suma de la solución general más la solución particular 𝑦𝑦𝑡𝑡 = 𝑦𝑦𝑔𝑔 + 𝑦𝑦̃𝑝𝑝 𝑦𝑦𝑡𝑡 = 𝐶𝐶1 𝑒𝑒 +𝑥𝑥 + 𝐶𝐶2 𝑒𝑒 −𝑥𝑥 − 𝑥𝑥

Nuevamente aplicamos las condiciones iniciales y llegamos a: 𝑦𝑦 = 𝑒𝑒 𝑥𝑥 − 𝑒𝑒 −𝑥𝑥 − 𝑥𝑥

Programa 32: Para graficar con el Método de Runge Kutta de cuarto orden

% Parámetros iniciales h = 0.1; % Tamaño del paso x0 = 0; % Valor inicial de x y0 = 0; % Condición inicial y(0) v0 = 1; % Condición inicial y'(0) x_final = 1; % Valor final de x N = (x_final - x0) / h; % Número de pasos % Inicialización de los vectores x = zeros(1, N+1); % Vector de valores de x y = zeros(1, N+1); % Vector de valores de y (aproximada) v = zeros(1, N+1); % Vector de valores de v (y') y_exacta = zeros(1, N+1); % Vector de valores de la solución exacta error_relativo = zeros(1, N+1); % Vector para almacenar los errores relativos % Condiciones iniciales x(1) = x0; y(1) = y0; v(1) = v0; y_exacta(1) = 0; % Solución exacta en x = 0 (y(0) = 0) % Definir la función f para v' (v' = y + x) f = @(x, y, v) y + x; % Método de Runge-Kutta de cuarto orden for i = 1:N % k1 para y y v k1_y = h * v(i); k1_v = h * f(x(i), y(i), v(i)); % k2 para y y v k2_y = h * (v(i) + 0.5 * k1_v); k2_v = h * f(x(i) + 0.5 * h, y(i) + 0.5 * k1_y, v(i) + 0.5 * k1_v);

138


en Ingeniería con sus métodos y aplicaciones

% k3 para y y v k3_y = h * (v(i) + 0.5 * k2_v); k3_v = h * f(x(i) + 0.5 * h, y(i) + 0.5 * k2_y, v(i) + 0.5 * k2_v); % k4 para y y v k4_y = h * (v(i) + k3_v); k4_v = h * f(x(i) + h, y(i) + k3_y, v(i) + k3_v); % Actualizar y(i+1) y v(i+1) y(i+1) = y(i) + (1/6) * (k1_y + 2*k2_y + 2*k3_y + k4_y); v(i+1) = v(i) + (1/6) * (k1_v + 2*k2_v + 2*k3_v + k4_v); % Actualizar x(i+1) x(i+1) = x(i) + h; % Calcular la solución exacta corregida en x(i+1) y_exacta(i+1) = exp(x(i+1)) - exp(-x(i+1)) - x(i+1) ; % Calcular el error relativo error_relativo(i+1) = abs((y_exacta(i+1) - y(i+1)) / y_exacta(i+1)); end % Mostrar los resultados fprintf('%6s %12s %12s %12s %12s\n', 'x', 'y(x)', 'v(x)', 'y_exacta(x)', 'Error relativo'); for i = 1:N+1 fprintf('%6.4f %12.6f %12.6f %12.6f %12.6f\n', x(i), y(i), v(i), y_exacta(i), error_relativo(i)); end % Graficar los resultados (solución aproximada y solución exacta) figure; plot(x, y, 'b-o', 'DisplayName', 'Solución aproximada (RK4)'); hold on; plot(x, y_exacta, 'r-*', 'DisplayName', 'Solución exacta'); xlabel('x'); ylabel('y(x)'); title('Comparación entre la solución aproximada y la solución exacta de y'''' - y = x'); legend show; grid on;

139


Resolución Numérica de Ecuaciones Diferenciales Ordinarias

Tabla 20: Método Runge Kutta de cuarto orden para sistemas en Matlab x relat.

y(x)

v(x)

0.0000 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000

0.000000 0.100333 0.202672 0.309040 0.421504 0.542190 0.673306 0.817166 0.976210 1.153031 1.350400

1.000000 1.010008 1.040133 1.090677 1.162145 1.255252 1.370930 1.510337 1.674869 1.866171 2.086160

y_exac(x) 0.000000 0.100334 0.202672 0.309041 0.421505 0.542191 0.673307 0.817167 0.976212 1.153033 1.350402

E. 0.000000 0.000002 0.000002 0.000002 0.000002 0.000002 0.000002 0.000002 0.000002 0.000002 0.000002

Fuente: Elaboración propia

Figura 32: Solución E.D. aplicando el método de Runge Kutta para sistemas

Fuente: Elaboración propia

140


en Ingeniería con sus métodos y aplicaciones

Bibliografía Butcher, J. C. (2016). Numerical methods for ordinary differential equations. John Wiley & Sons. Hairer, E., & Wanner, G. (1996). Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems. Springer. Shampine, L. F., Gladwell, I., & Thompson, S. (2003). Solving ODEs with MATLAB. Cambridge University Press. Ascher, U. M., & Petzold, L. R. (1998). Computer methods for ordinary differential equations and differential-algebraic equations. SIAM. Wanner, G., & Hairer, E. (1991). Solving Ordinary Differential Equations I: Nonstiff Problems. Springer. Iserles, A. (2012). A First Course in the Numerical Analysis of Differential Equations (2nd ed.). Cambridge University Press. Lambert, J. D. (1991). Numerical Methods for Ordinary Differential Systems: The Initial Value Problem. John Wiley & Sons. Press, W. H., Teukolsky, S. A., Vetterling, W. T., & Flannery, B. P. (2007). Numerical Recipes: The Art of Scientific Computing (3rd ed.). Cambridge University Press. Álvarez León, L. M. (2021). Métodos Numéricos en Ingeniería. Chapra, S. C., & Canale, R. P. (2014). Métodos numéricos para ingenieros (7a ed.). McGraw-Hill. Ascher, U. M., & Petzold, L. R. (2018). Computer methods for ordinary differential equations and differential-algebraic equations (2nd ed.). SIAM. Süli, E., & Mayers, D. F. (2017). An introduction to numerical analysis (2nd ed.). Cambridge University Press. Lapidus, L., & Pinder, G. F. (2014). Numerical solution of partial differential equations in science and engineering (2nd ed.). Wiley.

141


Turn static files into dynamic content formats.

Create a flipbook
Resolución Numérica de Ecuaciones Diferenciales Ordinarias by Editorial Universidad Técnica del Norte UTN - Issuu