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 abajo:

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:

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

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:

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:


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:

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:

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:

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 obtiene al mover el deslizador, en el siguiente applet:

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 «#»

Automatizar mis modelos físicos con sagemath y python

Quieres subir la siguiente nivel de tus habilidaes, automatizando tus resultados


Ecuaciones Diferenciales Aplicaciones e Inteligencia Artificial


    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.

    ¿Te ha servido esta parte del sitio?

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

    Quiero saber cómo se clasifican las ecuaciones diferenciales por su tipo

    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 un comentario

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

    Carrito de compra