Just wondering how to control the variable X using a radio button (bar) in Manipulate because it appears to not be working. If anyone could help, that would be great!
Manipulate[ {evals, evecs} = Eigensystem[( { {-\[Sigma], \[Sigma], 0}, {r - X[[3]], -1, -X[[1]]}, {X[[2]], X[[1]], -\[Beta]} } )]; GraphicsColumn[{Show[VectorPlot3D[( { {-\[Sigma], \[Sigma], 0}, {r - X[[3]], -1, -X[[1]]}, {X[[2]], X[[1]], -\[Beta]} } ).{x, y, z}, {x, X[[1]] - 2, X[[1]] + 2}, {y, X[[2]] - 2, X[[2]] + 2}, {z, X[[3]] - 2, X[[3]] + 2}, Axes -> True, PerformanceGoal -> "Quality", AxesLabel -> {"x", "y", "z"}, Ticks -> None], If[evecs == Re[evecs], ParametricPlot3D[Evaluate[t evecs], {t, -3, 3}, PlotStyle -> {{Thick, RGBColor[0.5, 0.21, 0.36]}}], {}], PlotRange -> 1, ImageSize -> {275, 275}]}], Row[{Spacer[60], Dynamic[Style[Text@TraditionalForm[HoldForm[( { {x}, {y}, {z} } )' == Dynamic[( { {-\[Sigma], \[Sigma], 0}, {r - X[[3]], -1, -X[r, \[Beta]][[1]]}, {X[r, \[Beta]][[2]], X[r, \[Beta]][[1]], -\[Beta]} } )] ( { {x}, {y}, {z} } )]], Medium]]}], Delimiter, {{r, 1, Style["r", Medium]}, 0, 20, .1, Appearance -> "Labeled"}, {{\[Beta], 8/3, Style["\[Beta]", Medium]}, 0, 20, .01, Appearance -> "Labeled"}, {{\[Sigma], 10, Style["\[Sigma]", Medium]}, 0, 50, 5, Appearance -> "Labeled"}, DynamicModule[{X}, RadioButtonBar[ X, { {0, 0, 0} -> "\!\(\*SubscriptBox[\(C\), \(0\)]\)", Dynamic[{Sqrt[\[Beta]*(r - 1)], Sqrt[\[Beta]*(r - 1)], r - 1}] -> "\!\(\*SubscriptBox[\(C\), \(+\)]\)", Dynamic[{-Sqrt[\[Beta]*(r - 1)], -Sqrt[\[Beta]*(r - 1)], r - 1}] -> "\!\(\*SubscriptBox[\(C\), \(-\)]\)"}]], {evecs, 0, 1, ControlType -> None}, {evals, 0, 1, ControlType -> None}, Dynamic[Graphics[{PointSize[.04], RGBColor[0.5, 0.21, 0.36], Point[{Re[#], Im[#]}] & /@ evals}, PlotRange -> {{-3 - Max[Abs[evals]], 3 + Max[Abs[evals]]}, {-3 - Max[Abs[evals]], 3 + Max[Abs[evals]]}}, Axes -> True, AxesLabel -> {"Re(Z)", "Im(Z)"}, Ticks -> None, ImagePadding -> 33, ImageSize -> 250, PlotLabel -> "Eigenvalues"]], ControlPlacement -> Left, AutorunSequencing -> {1, 2, 3, 4}]
I want to be able to select between the three X
values and have the axis of the VectorPlot3D
and the {evals, evecs}
adjust as X
varies.