Czy to drugie rozwiązanie tego ODE jest poprawne?

Dec 25 2020

Mathematica V 12.2 w systemie Windows 10. Używałem Mathematica do sprawdzania mojego rozwiązania dla tego ODE. Mathematica podaje 2 rozwiązania. Masz jakiś pomysł, skąd wzięło się drugie rozwiązanie? i czy to prawda?

Oto moje rozwiązanie i rozwiązanie Mathematica

ClearAll[y, x];
ode = y'[x] == 2*Sqrt[1 + y[x]]*Cos[x];
sol = DSolve[{ode, {y[Pi] == 0}}, y, x]

 (* {{y->Function[{x},-2 Sin[x]+Sin[x]^2]},{y->Function[{x},2 Sin[x]+Sin[x]^2]}} *)

Dopiero drugie rozwiązanie weryfikuje. I to też uzyskałem. Pytanie brzmi, w jaki sposób Mathematica uzyskała pierwszy z powyższych?

Assuming[Element[x, Reals], Simplify@(ode /. sol[[1]])]
  (* Cos[x] Sin[x] == Cos[x] *)

Assuming[Element[x, Reals], Simplify@(ode /. sol[[2]])]
   (* True *)

Moje rozwiązanie: ODE $$ \frac{ \mathop{\mathrm{d}y}}{\mathop{\mathrm{d}x}} = 2 \sqrt{y +1}\, \cos \left(x \right) $$można rozdzielić. W związku z tym
\begin{align*} \left(\frac{1}{2 \sqrt{y +1}}\right)\mathop{\mathrm{d}y}&= \cos \left(x \right)\mathop{\mathrm{d}x}\\ \int \left(\frac{1}{2 \sqrt{y +1}}\right)\mathop{\mathrm{d}y}&= \int \cos \left(x \right)\mathop{\mathrm{d}x}\\ \sqrt{y +1} &= c_{1}+\sin \left(x \right) \end{align*} Warunki początkowe są teraz używane do rozwiązywania problemów $c_{1}$. Zastępowanie$x=\pi$ i $y=0$ w powyższym rozwiązaniu daje równanie do rozwiązania na stałą całkowania. \begin{align*} \sqrt{1} &= c_{1} \end{align*} Ale $\sqrt{1}=1$, biorąc główny pierwiastek. W związku z tym\begin{align*} c_1 &= 1 \end{align*} Zastępowanie $c_{1}$ znalezione powyżej w ogólnym rozwiązaniu daje $$ \sqrt{y \left(x \right)+1} = \sin \left(x \right)+1 $$ Szukanie $y \left(x \right)$ daje \begin{align*} y(x)+1 &= (1+\sin(x))^2 \\ y(x)+1 &= (1+\sin^2(x)+2 \sin(x)) \\ y(x) &= \sin^{2}x +2 \sin(x) \end{align*}

Z powyższego widzę, że Mathematica musiała uzyskać dwa rozwiązania $c_1$ tak jak $\pm 1$ podczas brania $\sqrt 1$.

Dopiero wtedy uzyska te dwa rozwiązania. Do kiedy$c_1 = -1$, pojawi się pierwsze rozwiązanie, które pokaże. I kiedy$c_1= 1$, pojawi się drugie rozwiązanie.

Czy pierwsze rozwiązanie Mathematica jest poprawne? Czy Mathematica powinna uzyskać tylko to$c_1 = 1$ i nie $c_1 = \pm 1$?

Odpowiedzi

Vixillator Dec 27 2020 at 09:34
ClearAll[y, x, ode, sol];

(* The given equation ode is a non-linear (quadratic) ODE, which yields two 
   solutions, as expected. Since both solutions satisfy the ODE they are both correct.
   Note that the ODE is equivalent to: y'[x]^2 == 4*(1 + y[x])*Cos[x]^2 *)

ode = y'[x] == 2*Sqrt[1 + y[x]]*Cos[x];
sol = DSolve[{ode, {y[Pi] == 0}}, y[x], x]

(* OUT: {{y[x] -> -2 Sin[x] + Sin[x]^2}, {y[x] -> 2 Sin[x] + Sin[x]^2}} *)

(* In order to obtain a single solution, we need to reduce the ODE to
a quasi-linear ODE, by defining an auxiliary boundary condition, say
at x=0, that will constrain the solution to the one that we seek *)

bcNew = ode /. x -> 0

(* OUT: y'[0] == 2 Sqrt[1 + y[0]] *)

solNew = DSolve[{ode, y[Pi] == 0 && bcNew}, y[x], x]

(* OUT: {{y[x] -> 2 Sin[x] + Sin[x]^2}} *)

(* QED *)