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.