Solución y graficación del modelo alterno para espejos parabólicos

Analiza el siguiente código y contesta el cuestionario

Resolvemos la ED con sagemath

Vamos a resolver la ecuación diferencial \( \displaystyle \frac{du}{\sqrt{1+u^{2}}} = \frac{dx}{x} \) que modela la curvatura de un espejo parabólico, usando sagemath, para eso completa los siguientes códigos:

Agrega la ED que buscamos resolver tomando en cuenta que en sagemath la tienes que ingresar de ésta forma:

\(\displaystyle \frac{du/dx}{\sqrt{1+u^{2}}}=\frac{1}{x}\)

# Ejemplo
reset()  # Reinicia el estado de Sage, limpiando variables, funciones y entornos previos

x = var('x')         # Declara x como variable simbólica
u = function('u')(x) # Declara u como una función simbólica de x, es decir u = u(x)
# Definimos la ecuación diferencial:
# diff(u,x) representa la derivada de u con respecto a x.
# sqrt(1+u^2) es la raíz cuadrada de (1 + u^2).
# La ecuación se establece como: (du/dx)/sqrt(1+u^2) = 1/x
DE = ...

assume(x>0)          # Establece la suposición de que x > 0, lo cual puede ayudar en la resolución
# Resolvemos la ecuación diferencial usando la función desolve:
soln = desolve(DE, u)
# Mostramos la solución
soln
Pega en la siguiente celda el código de arriba y completa la definición de la ecuación diferencial, es decir, sustituye los 3 puntos acá DE = ... , por la ecuación diferencial.

Despejamos \(\displaystyle u(x)\) y regresamos a las variables originales \(\displaystyle y(x) = …\)

La idea ahora es despejar \(\displaystyle u(x)\), como ya sabemos.

La función solve de sagemath tiene la configuración: solve(ecuación, variable a despejar), completa el siguiente fragmento de código, utilizando la ecuación solución anterior.

Posteriormente regresamos a las variables originales: \(\displaystyle u = \frac{y}{x}\), es decir: \(\displaystyle y = ux\)

# Supongamos que tu DE es algo así:
# desolve(ecuacion, u, ics=[...])

# Luego obtendrías una expresión para arcsinh(u(x)):

# arcsinh(u(x)) == _C + log(x)
# IMPORTANTE, escríbela así:
# arcsinh(u) == log(C) + log(x)

# Para aislar u, utiliza solve:
var('u, x, C')
S1 = solve(...)
S = S1[0].full_simplify()
show(S)

# Sustituimos de regreso: u = y/x --> y = ux
y = S.rhs()*x
print('\ny= ')
show(y.expand())

Pega en la siguiente celda el código de arriba y completalo.

Gráfica de la función resultante \(\displaystyle y(x)\)

# Gráfica
C = var('C')
y(x) = ...
P = Graphics()
k = 1
P += plot(y(x).substitute(C == k), (x, -1, 1), color='blue', legend_label='$y(x)$')
P.show(ymin=-1,ymax=1,axes_labels=['$x$','$y(x)$'], legend_loc="upper right")
Pega en la siguiente celda el código de arriba y completa la definición de la función solución, es decir, sustituye los 3 puntos acá y(x) = ... , por la función solución que obtuviste en el paso anteriorl.

Aquí el Cuestionario

Deja un comentario