# Is it possible to make a phase portrait of this system?

I need help with this problem: I have this ODE system

For this system, manually, I calculated the stability points, eigenvalues, and Jacobian matrix for a range of ALPHA values (I considered those alpha values when doing this process: Table[\[Alpha], {\[Alpha], N[1.0 Degree], N[89 Degree]}]}.

Is there an option where I can obtain a phase portrait of this system, for the range of alpha values that I showed above?

The sketch of the code (until now):

\$Assumptions = \[Alpha] > 0 && k > 0 && d0 > 0 && d > 0 && x > 0 && \[Omega]1 > 0 && [Omega]2 > 0;
Sys = {x'[t] == y[t], y'[t] == -1*(\[Omega]1^2 *x[t] + \[Omega]2^2 *x[t]^3)*Csc[\[Alpha]]};
jacobian = Grad[{y, -Csc[\[Alpha]]*(\[Omega]1^2 x + \[Omega]2^2 x^3)}, {x, y}]
Roots[0 == Csc[\[Alpha]] * (\[Omega]1^2 x + \[Omega]2^2 x^3), x];
{\[Alpha] -> Table[\[Alpha], {\[Alpha], N[1.0 Degree], N[89 Degree]}]};


After the results of the roots were obtained, I replaced them in the Jacobian matrix and obtained 3 different Jacobian matrices (1 for each angle that I used).

After this point, I calculated every eigenvalue for the specific angles I wanted (alpha== 1 Degree, alpha== 63.0254 Degree and alpha== 89 Degree).

My problem starts after this point because I can't find a way to connect the alpha value in phase portrait. Is there any option to do that?

• Did you look at Manipulate[Streamplot[...]]? For example, mathematica.stackexchange.com/questions/140226/…
– Moo
Commented Feb 16 at 15:44
• I will take a look in this link you send me. Thanks. Commented Feb 16 at 15:46

You have this system

\begin{align*} x'(t)&=y(t)\\ y'(t)&=-(\omega_1^{2} x + \omega_2^{2} x^3) \csc(\alpha) \end{align*}

Convert to state space. Let $$x_1=x,x_2=y$$ then

\begin{align*} \dot{x_1}&=x_2\\ \dot{x_2}&=-(\omega_1^{2} x_1 + \omega_2^{2} x_1^3) \csc(\alpha) \end{align*}

Now use StreamPlot. Here is a basic Manipulate

Manipulate[
StreamPlot[{x2, -(omega1^2*x1 + omega2^2*x1^3)*
Csc[alpha  Degree]}, {x1, -4, 4}, {x2, -4, 4}],
{{omega1, 1, " omega 1"}, 0, 10, .1, Appearance -> "Labeled"},
{{omega2, 1, " omega 2"}, 0, 10, .1, Appearance -> "Labeled"},
{{alpha, 50, " alpha"}, 40, 70, .1, Appearance -> "Labeled"},
TrackedSymbols :> {omega1, omega2, alpha}
]


• Thank you so much for the help you provided to me. Commented Feb 17 at 11:37
• @VictorPintoMscStudent If this answer solved your problem, you can accept it by clicking the checkmark sign! Commented Feb 19 at 6:48