Добрый вечер. Имеется система ДУ, в которых имеются две константы alfa и gamma. Мне необходимо задавать эти константы в виде массива. После этого мне необходимо получить таблицу (или матрицу) значений искомых переменных при вышеописанных заданных значениях alfa и gamma и серию графиков.
Полный код программы. Здесь alfa и gamma представлены фиксированными величинами.
Код:
\[Kappa] = 0.01;
\[Alpha] = 0.01;
solution =
NDSolve[{Derivative[1][r][t] == (\[Kappa] Subscript[P, r][t])/Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2], r[0] == 1.0,
Derivative[1][\[CapitalTheta]][
t] == (\[Kappa] Subscript[P, \[Theta]][t])/(
r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]), \[CapitalTheta][0] == 0.5,
Derivative[1][\[Phi]][t] == (\[Kappa] Subscript[P, \[Phi]][t])/(
r[t] Sin[\[CapitalTheta][t]] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]), \[Phi][0] == 0.1,
Derivative[1][Subscript[P, r]][
t] == (\[Kappa] Subscript[P, \[Theta]][t]^2)/(
r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]) + (\[Kappa] Subscript[P, \[Phi]][
t]^2)/(r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]) + \[Alpha] (
Subscript[P, \[Theta]][t] Sign[Cos[\[CapitalTheta][t]]])/(
r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]), Subscript[P, r][0] == 0.6,
Derivative[1][Subscript[P, \[Theta]]][
t] == (-\[Kappa] Subscript[P, r][t] Subscript[P, \[Theta]][t])/(
r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]) + (\[Kappa] Subscript[P, \[Phi]][
t]^2)/(r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]) Cot[\[CapitalTheta][t]] - (
Sin[\[CapitalTheta][t]] Sign[Cos[\[CapitalTheta][t]]])/r[t] +
Subscript[P, \[Phi]][t]/ Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2] Sign[Cos[\[CapitalTheta][t]]]/
r[t]^2 - (\[Alpha] Subscript[P, r][t])/Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2] Sign[Cos[\[CapitalTheta][t]]]/r[t],
Subscript[P, \[Theta]][0] == 0.8,
Derivative[1][Subscript[P, \[Phi]]][
t] == -\[Kappa] (Subscript[P, r][t] Sin[\[CapitalTheta][t]] +
Subscript[P, \[Theta]][t] Cos[\[CapitalTheta][t]]) Subscript[
P, \[Phi]][t]/(
r[t] Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2] Sin[\[CapitalTheta][t]]) -
Subscript[P, \[Theta]][t]/Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2] Sign[Cos[\[CapitalTheta][t]]]/
r[t]^2, Subscript[P, \[Phi]][0] == 0},
{r, \[CapitalTheta], \[Phi], Subscript[P, r], Subscript[
P, \[Theta]], Subscript[P, \[Phi]]}, {t, 0, 233.5},
MaxSteps -> 1000000000,
Method -> {"TimeIntegration" -> "ExplicitRungeKutta"}];
ParametricPlot[
Evaluate[{10 r[t] Sin[\[CapitalTheta][t]] , Subscript[P, r][t]} /.
solution], {t, 0, 233.5},
PlotStyle ->
Directive[RGBColor[0.01`, 0.01`, 0.01`], AbsoluteThickness[0.`]],
ImageSize -> Large, PlotTheme -> "Scientific", Axes -> True,
LabelStyle -> {GrayLevel[0]}, AxesLabel -> {None, None},
FrameLabel -> {{HoldForm["\!\(\*SubscriptBox[\(P\), \(r\)]\)[t]"],
None}, {HoldForm["10rSin[\[CapitalTheta][t]]"], None}},
PlotLabel -> None]
ParametricPlot[
Evaluate[{10 r[t] Sin[\[CapitalTheta][t]], Subscript[P, \[Phi]][t]} /.
solution], {t, 0, 233.5},
PlotStyle ->
Directive[RGBColor[0.01`, 0.01`, 0.01`], AbsoluteThickness[0.`]],
ImageSize -> Large, PlotTheme -> "Scientific", Axes -> True,
LabelStyle -> {GrayLevel[0]}, AxesLabel -> {None, None},
FrameLabel -> {{HoldForm[
"\!\(\*SubscriptBox[\(P\), \(\[Phi]\)]\)[t]"],
None}, {HoldForm["10rSin[\[CapitalTheta][t]]"], None}},
PlotLabel -> None]
ParametricPlot[
Evaluate[{10 r[t] Sin[\[CapitalTheta][t]],
Subscript[P, \[Theta]][t]} /. solution], {t, 0, 233.5},
PlotStyle ->
Directive[RGBColor[0.01`, 0.01`, 0.01`], AbsoluteThickness[0.`]],
ImageSize -> Large, PlotTheme -> "Scientific", Axes -> True,
LabelStyle -> {GrayLevel[0]}, AxesLabel -> {None, None},
FrameLabel -> {{HoldForm[
"\!\(\*SubscriptBox[\(P\), \(\[Theta]\)]\)[t]"],
None}, {HoldForm["10rSin[\[CapitalTheta][t]]"], None}},
PlotLabel -> None]
ParametricPlot[
Evaluate[{10 r[t] Sin[\[CapitalTheta][t]], Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]} /. solution], {t, 0, 233.5},
PlotStyle ->
Directive[RGBColor[0.01`, 0.01`, 0.01`], AbsoluteThickness[0.`]],
ImageSize -> Large, PlotTheme -> "Scientific", Axes -> True,
LabelStyle -> {GrayLevel[0]}, AxesLabel -> {None, None},
FrameLabel -> {{HoldForm["\[Gamma]"],
None}, {HoldForm["10rSin[\[CapitalTheta][t]]"], None}},
PlotLabel -> None]
ParametricPlot[
Evaluate[{10 r[t] Sin[\[CapitalTheta][t]],
5 r[t] Cos[\[CapitalTheta][t]]} /. solution], {t, 0, 233.5},
PlotStyle ->
Directive[RGBColor[0.01`, 0.01`, 0.01`], AbsoluteThickness[0.`]],
ImageSize -> Large, PlotTheme -> "Scientific", Axes -> True,
LabelStyle -> {GrayLevel[0]}, AxesLabel -> {None, None},
FrameLabel -> {{HoldForm["5rCos[\[CapitalTheta][t]"],
None}, {HoldForm["10rSin[\[CapitalTheta][t]]"], None}},
PlotLabel -> None]
ParametricPlot[
Evaluate[{5 r[t] Cos[\[CapitalTheta][t]], Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]} /. solution], {t, 0, 233.5},
PlotStyle ->
Directive[RGBColor[0.01`, 0.01`, 0.01`], AbsoluteThickness[0.`]],
ImageSize -> Large, PlotTheme -> "Scientific", Axes -> True,
LabelStyle -> {GrayLevel[0]}, AxesLabel -> {None, None},
FrameLabel -> {{HoldForm["\[Gamma]"],
None}, {HoldForm["5rCos[\[CapitalTheta][t]]"], None}},
PlotLabel -> None]
spisok2 =
Table[{Evaluate[{r[t] Sin[\[CapitalTheta][t]],
r[t] Cos[\[CapitalTheta][t]]} /. solution]}, {t, 233.5, 233.5}]
spisok1 =
Table[{Evaluate[{r[t] Sin[\[CapitalTheta][t]], Sqrt[
Subscript[P, r][t]^2 + Subscript[P, \[Theta]][t]^2 +
Subscript[P, \[Phi]][t]^2]} /. solution]}, {t, 233.5, 233.5}]
P.S. Заранее благодарен за ответ!