Simulación y Graficación de Ecuaciones Diferenciales con SAGEMATH

Utiliza la siguiente celda para aplicar tu conocimiento de Ecuaciones Diferenciales realizando la Simulación de tus ejercicios junto con sus gráficas, o simula cualquier sistema físico escrito muy fácilmente con lo que te voy a mostrar aquí utilizando código escrito en SAGEMATH o Python

Simulación Ecuaciones Diferenciales


Escribe en la siguiente celda tu código:

Aquí tienes ejemplos de como realizarlo:

¿Cómo simular una Ecuación Diferencial (ED) Ordinaria con SAGEMATH?:

Tenemos la ecuación a resolver:

$\large y’=-\frac{x}{y}$

El código se puede ver dándole click al botón Mostrar Código:

Mostrar Código de SAGE
x = var("x")          # Definicion de la variable independiente
y = function("y")(x)       # Definicion de la variable dependiente
DE = diff(y,x) == -x/y     # Ecuación Diferencial (DE):  x*y' + y = e^x para y(1)=1
solg = desolve(DE, y)      # Solucion general de la ED: x*y' + y = e^x mediante el comando "desolve"
show(solg)

El código requerido también se puede ver dentro de la Celda de SAGEMATH. Dale clic a evaluate para ver el resultado:

¿Cómo simular un Problema del Valor Inicial (PVI) para una ED Ordinaria con SAGEMATH?:

Utilizamos la misma ecuación diferencial anterior, con condiciones iniciales:

$\large y’=-\frac{x}{y}$

$\large y(1) = 1$

El código es muy parecido al anterior, con una pequeña variación dentro de la función desolve, como se ve en el código. Éste se puede ver dándole click al botón Mostrar Código:

Mostrar Código de SAGE
x = var("x")               # Definicion de la variable independiente
y = function("y")(x)            # Definicion de la variable dependiente
DE = diff(y,x) == -x/y          # Ecuación Diferencial (DE):  x*y' + y = e^x para y(1)=1
solp = desolve(DE,[y,x], [1,1]) # Solucion general de la ED: x*y' + y = e^x mediante el comando "desolve"
show(solp)

El código requerido también se puede ver dentro de la Celda de SAGEMATH. Dale clic a evaluate para ver el resultado:

A continuación te dejo el código de SAGEMATH para graficar la solución particular anterior, copialo y pegalo en la celda de SAGEMATH para ver el resultado

Mostrar Código de SAGE
x = var("x")               # Definicion de la variable independiente
y = function("y")(x)            # Definicion de la variable dependiente
DE = diff(y,x) == -x/y          # Ecuación Diferencial (DE):  x*y' + y = e^x para y(1)=1
solp = desolve(DE,[y,x],[1,1])  # Solucion particular de la ED: x*y' + y = e^x para y(1)=1

f = -1/2*y^2==1/2*x^2-1

y = solve([f],y)
show(y[0]); show(y[1]);
print('Graficando y(x) = sqrt(-x^2 + 2)')

y = y[1].rhs()

plot(y,-1.42,1.42,ymax=1.5,ymin=0)

¿Cómo graficar una Solución del Problema del Valor Inicial (PVI) para una ED Ordinaria con SAGEMATH?:

Para éste ejemplo utilizamos la siguiente ED:

$\large xy’ + y = e^{x}$

Con valores iniciales:

$y(1) = 1$

El código en SAGEMATH y la gráfica se ven dándole clic al siguiente botón:

Mostrar Código de SAGE
x = var("x")                 
y = function("y")(x)          
DE = diff(y,x) == (e^x-y)/x      
solp = desolve(DE,[y,x],[1,1])
show(solp)
plot(solp, -5, 5, ymin=-5, ymax=5)
La Gráfica deberá tener la forma:
Mostrar Gráfica de SAGE

El código también esta dentro de la celda:

¿Cómo simular y graficar un campo de direcciones de una ED Ordinaria con SAGEMATH?:

Utilizaremos el mismo PVI, anterior:

$\large xy’+y=e^{x}$

$y(1) = 1$

El código incluye la graficación de la solución particular del PVI, además del campo de direcciones, clic al siguiente botón:

Mostrar Código de SAGE
x = var("x")                 
y = function("y")(x)          
DE = diff(y,x) == (e^x-y)/x     
solg = desolve(DE,[y,x])        

## Código para graficar el CAMPO DE DIRECIONES
y, x = var('y x')
F=plot_slope_field((e^x-y)/x, (x,-5,5), (y,-5,5))
B=F

## Código para Graficar la FAMILIA DE SOLUCIONES
Lista = [k/2 for k in[-10..10]]
for k in Lista:
    C=implicit_plot((e^x-y)/x == k, (x,-5,5), (y,-5,5))
    B=B+C
print('La Familia de soluciones xy\' + y = e^x es \n')
show('y(x)= '), show(solg);
show(B)
La gráfica deberá verse de la siguiente forma:
Mostrar Gráfica de SAGE

El código también esta dentro de la celda:

Nota: todos los códigos se pueden editar.  Para adaptarlos a tus propios ejercicios, lee los comentarios que incluí en estos y que están precedidos por el simbolo «#»

Por último, tomaré un ejemplo de la página The Azimut project, para mostrar la simulación de un sistema físico y la capacidad interactiva de SAGEMATH:

Mostrar Código de SAGE
def lv(g,k=None):
   Tg = ode_solver()
   Tg.function = lambda t, y: [y[0]*(1 - y[1]), -g*y[1] + y[0]*y[1]]
   sol_lines = Graphics()
   for i in srange(0.1,1.1,.2):
      Tg.ode_solve(y_0=[i,i],t_span=[0,10],num_points=10^3)
      y = Tg.solution
      sol_lines += line([x[1] for x in y], rgbcolor = (i,i,0))
   return sol_lines

@interact
def lv_explorer(gamma = (0.,1.,0.1)):
    show(lv(gamma))

La funcionalidad interactiva se describe en el siguiente video:

Dale click a «Evaluate» y juega con los campos para los parámetros y los botones deslizantes del comando @Interact:

 Nota que todos los códigos se pueden editar.  Para adaptarlos a tus propios ejercicios, lee los comentarios que incluí en estos y que están precedidos por el simbolo «#»

Aprender Modelado, Simulación y Aplicación de Ecuaciones Diferenciales y Sistemas de Físicos

Apúntate a nuestro PROGRAMA COMPLETO de Aplicaciones de las Ecuaciones Diferenciales y Desarrolla tus Habilidades para convertirte en lo que ERES, Un Ingeniero, un mateático.

Aduéñate de todos los proyectos!!!

Dale click al siguiente enlace para e inscríbete YA!!!

Programa Completo de Ecuaciones Diferenciales, click aquí

Para que obtengas la confianza necesaria en tu vida PROFESIONAL y en tu persona realiza ejercicios de aplicación y practica

En nuestro Programa Completo de Ecuaciones Diferenciales aprenderás a:

  • Realizar Modelado Matemático
  • Aplicar los algoritmos de solución. Te enseñamos a saber:
    • ¿Por donde Empezar cuando tengo una ED enfrente?
    • ¿Qué tipo de Ecuacion Diferencial tengo enfrente?
    • ¿Qué método emplear para resolve la ED que tengo enfrente?
  • Realizar simulación por computadora (simbólica y numérica) para transformar tu realidad y la de tu entorno, brindando servicio efectivo y sintiendote realizado como ingeniero, como matemñatico aplicado
  • Inscríbete a nuestro Programa Completo de Ecuaciones Diferenciales, click aquí


Practica y Programa para que obtengas la confianza necesaria

Realiza más ejercicios donde utilices este método, sobre todo si vas empezando y quieres rápidamente resolver problemas luego, cuando tengas mas disponibilidad mental para profundizar los conceptos, utiliza tus propios métodos y así afianzarás más TU CONFIANZA y TU HABILIDAD.

  • Utiliza las técnicas que te presento antes de analizarlas para preparar tu mente, de tal manera que luego al estudiar los conceptos a fondo tengas toda la información necesaria.
  • Así verás como todo se aclara, puesto que tendrás la información necesaria para que tu mente entienda con facilidad los conceptos más abstractos.
  • Para adueñarte de los conceptos, utiliza programación. La programación te ayudará a entender a fondo lo que estas haciendo ya que tendras que trasladar los conceptos a la computadora y sobre todo, podras simular gráfica y numéricamente tus resultados.

Programar en Python y MATLAB

Visita la selección de cursos de PROGRAMACIÓN en Python y MATLAB que te ofrecemos junto con nuestros afiliados, para desarrollar tus habilidades matemáticas, aprobar tus exámenes o realizar tus proyectos e incluso independizarte generando tus propios ingresos, da click aquí y aprende a programar en Python y MATLAB, click aquí

Programar Python MATLAB
Programar con Python y MATLAB


¿Te ha servido esta parte del sitio?

Déjanos un comentario al final de la página o contactamos aquí

Quiero saber como solucionar una Ecuación Diferencial de Variables Separables

Quiero Saber como solucionar una Ecuación Diferencial lineal de primer orden (dale click aquí)

Quiero ejemplos de ejercicios resueltos de Ecuaciones Diferenciales del libro de G. Zill

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *