¿Cómo obtengo la solución a la ecuación diferencial dy / dt = cos (y) sin (t ^ 2), en forma numérica, o puede hacerse analíticamente?

La ecuación dada es una ecuación diferencial ordinaria no lineal de primer orden. Se puede resolver separando variables o transformándola en una ecuación exacta.

Separando las variables e integrando:

[matemáticas] \ displaystyle {\ frac {dy} {\ cos (y)} = \ sec (y) dy = \ sin ({t ^ 2}) dt} [/ math]

[matemática] \ displaystyle {\ int \ sec (y) \, dy = \ int \ sin ({t ^ 2}) \, dt} [/ math]

La integración de ambos lados produce el resultado:

[matemáticas] \ displaystyle {\ ln \ left (\ sin \ left (\ frac {y} {2} \ right) + \ cos \ left (\ frac {y} {2} \ right) \ right) – \ ln \ left (\ cos \ left (\ frac {y} {2} \ right) – \ sin \ left (\ frac {y} {2} \ right) \ right) = \ sqrt {\ frac {\ pi} { 2}} S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right) + c} [/ math]

[matemática] S (z) [/ matemática] es la integral Fresnel [matemática] S [/ matemática].

El resultado anterior lleva a las siguientes soluciones (verificadas con Mathematica):

[matemáticas] \ displaystyle {y (t) = \ pm 2 \ cos ^ {- 1} \ left (\ frac {-e ^ {\ left (- \ sqrt {\ frac {\ pi} {2}} \ right ) S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right) -c} -1} {\ sqrt {2} \ sqrt {e ^ {\ left (- \ sqrt {2 \ pi } \ right) S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right) -2 c} +1}} \ right)} [/ math]

[matemáticas] \ displaystyle {y (t) = \ pm 2 \ cos ^ {- 1} \ left (\ frac {e ^ {\ left (- \ sqrt {\ frac {\ pi} {2}} \ right) S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right) -c} +1} {\ sqrt {2} \ sqrt {e ^ {\ left (- \ sqrt {2 \ pi} \ right) S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right) -2 c} +1}} \ right)} [/ math]

Observando que la siguiente solución también se puede utilizar:

[matemáticas] \ displaystyle {\ int \ sec (y) \, dy = \ ln (\ tan (y) + \ sec (y)) + constante} [/ matemáticas]

obtenemos:

[matemáticas] \ displaystyle {\ ln (\ tan (y) + \ sec (y)) = \ sqrt {\ frac {\ pi} {2}} S \ left (\ sqrt {\ frac {2} {\ pi }} t \ right) + c} [/ math]

Esto lleva a la siguiente solución de ecuación diferencial (verificada con Mathematica y Wolfram Alpha):

[matemáticas] \ displaystyle {y (t) = 2 \ left (\ tan ^ {- 1} \ left (\ frac {e ^ {c + \ sqrt {\ frac {\ pi} {2}} S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right)} – ​​1} {e ^ {c + \ sqrt {\ frac {\ pi} {2}} S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right)} + 1} \ right) + \ pi n \ right), n \ in \ mathbb {Z}} [/ math]

O también:

[matemáticas] \ displaystyle {y (t) = 2 \ left (\ tan ^ {- 1} \ left (\ tanh \ left (\ frac {1} {4} \ left (c_1 + \ sqrt {2 \ pi} S \ left (\ sqrt {\ frac {2} {\ pi}} t \ right) \ right) \ right) \ right) + \ pi n \ right)} [/ math]

Esto es separable.

dy / dt = cos (y) sin (t ^ 2)

dy / cos (y) = sin (t ^ 2) dt

Integrar.

ln | sec (y) + tan (y) | = sqrt (pi / 2) * S (sqrt (2 / pi) * t) + C

Donde S (u) es la integral S Fresnal.

sec (y) + tan (y) = A * exp (sqrt (pi / 2) * S (sqrt (2 / pi) * t))

Donde A = exp (C)

Desafortunadamente a partir de aquí, no podemos simplificar más la relación, por lo que es una función y (t).

.

Para resolver numéricamente, necesitas condiciones iniciales.

Elijamos t = 0 e y = 0.

Entonces puede proceder de la siguiente manera:

dt = 0,001; // 1 ms pasos

t = 0; y = 0; y_dot = cos (y) * sin (t ^ 2); // inicialización

mientras que (t <5) {

imprimir t “,” y “,” y_dot;

half_step = y_dot * (dt / 2);

y_mid = y + half_step;

t_mid = t + dt / 2;

y_dot_mid = cos (y_mid) * sin (t_mid ^ 2);

full_step = y_dot_mid * dt;

y + = full_step;

t + = dt;

y_dot = cos (y) * sin (t ^ 2);

}

Lo anterior se conoce como Método del punto medio (también conocido como Runge-Kutta de segundo orden).

A continuación se muestra un diagrama de tiempo: