Новое в системе Wolfram
Mathematica
9
◄
предыдущая
|
следующая
►
Новое в системе Wolfram
Mathematica
9
›
Параметрические дифференциальные уравнения
Использование параметров без ограничений
In[6]:=
X
freqplot = {x''[t] == -Framed[\[Omega]] x[t], Plot[Evaluate@ Table[pfun[\[Omega], 1, 0, 10][t], {\[Omega], .5, 3, .5}], {t, 0, 4 \[Pi]}, Ticks -> None]}; initvalplot = {x[0] == Framed[x0], Plot[Evaluate@Table[pfun[1, x0, 0, 10][t], {x0, -1, 1, .1}], {t, 0, 4 \[Pi]}, Ticks -> None]}; initderplot = {x'[0] == Framed[x1], Plot[Evaluate@Table[pfun[1, 0, x1, 10][t], {x1, -1, 1, .1}], {t, 0, 4 \[Pi]}, Ticks -> None]}; wpplot = {WorkingPrecision -> Framed[wp], ListLogPlot[ Table[{wp, Abs[pfun[1, 1, 0, wp][4 \[Pi]] - 1]}, {wp, 16, 60}], AxesLabel -> {wp, "Error"}, Ticks -> None]};
Параметры могут использоваться при постановке задачи всюду, где можно использовать численные значения.
In[1]:=
X
pfun = ParametricNDSolveValue[{x''[t] == -\[Omega] x[t], x[0] == x0, x'[0] == x1}, x, {t, 0, 4 \[Pi]}, {\[Omega], x0, x1}];
Изменяем значения параметра.
In[2]:=
X
Plot[Evaluate@ Table[pfun[\[Omega], 1, 0][t], {\[Omega], .5, 3, .5}], {t, 0, 4 \[Pi]}, ImageSize -> Medium]
Out[2]=
Изменяем значения параметров в начальных условиях.
In[3]:=
X
GraphicsColumn[{Plot[ Evaluate@Table[pfun[1, x0, 0][t], {x0, -1, 1, .1}], {t, 0, 4 \[Pi]}, ImageSize -> Medium], Plot[Evaluate@Table[pfun[1, 0, x1][t], {x1, -1, 1, .1}], {t, 0, 4 \[Pi]}, ImageSize -> Medium]}]
Out[3]=
Изменение параметра рабочей точности.
In[4]:=
X
pfun = ParametricNDSolveValue[{x''[t] == -\[Omega] x[t], x[0] == x0, x'[0] == x1}, x, {t, 0, 4 \[Pi]}, {\[Omega], x0, x1, wp}, Method -> "Extrapolation", WorkingPrecision -> wp ];
In[5]:=
X
ListLogPlot[ Table[{wp, Abs[pfun[1, 1, 0, wp][4 \[Pi]] - 1]}, {wp, 16, 60}], AxesLabel -> {wp, "Error"}, ImageSize -> Medium]
Out[5]=