Язык Wolfram Language

Символические исчисления и численный анализ

Решение задачи о таутохроне

Задача о таутохроне требует нахождения определённой кривой. Если разместить бусину в любой точке данной кривой, то она упадёт на дно за одинаковый отрезок времени. Если выразить общее время падения через длину арки кривой, а скорость через v, то получим интегральное уравнение Абеля . Если выразить неизвестную функцию через отношение и использовать уравнение сохранения энергии , то получим следующее уравнение.

In[1]:=
Click for copyable input
abeleqn = T == 1/Sqrt[2 g] \!\( \*SubsuperscriptBox[\(\[Integral]\), \(0\), \(y\)]\( \*FractionBox[\(h[z]\), SqrtBox[\(y - z\)]] \[DifferentialD]z\)\);

Решить интегральное уравнение с помощью функции DSolveValue.

In[2]:=
Click for copyable input
dsdy = DSolveValue[abeleqn, h[y], y]
Out[2]=

Используя отношение , найти решение для .

In[3]:=
Click for copyable input
dxdy = Sqrt[dsdy^2 - 1]
Out[3]=

Начиная от края кривой, интегрировать как функцию . Предположения обеспечивают вещественность подынтегрального уравнения.

In[4]:=
Click for copyable input
x[y_] = Integrate[dxdy, {y, 0, y}, Assumptions -> (2 g (T^2) )/(\[Pi]^2 y) > 1 && y > 0]
Out[4]=

Если использовать время ската две секунды и заменить им значение гравитационного ускорения, то можно графически oтобразить максимальную кривую таухотрона ( представляет результат решения для переменной .).

In[5]:=
Click for copyable input
Show[ParametricPlot[{{x[y], y}, {-x[y], y}} /. {g -> 9.8, T -> 2}, {y, 0, (2 (9.8) 2^2)/\[Pi]^2}], ImageSize -> Medium]
Out[5]=

Изменив переменные , получить простую несингулярную параметризацию кривой с .

In[6]:=
Click for copyable input
c[\[Theta]_] = ( g T^2)/\[Pi]^2 {Sin[\[Theta]] + \[Theta], 1 - Cos[\[Theta]]} ;

Объединение уравнения сохранения энергии и цепного правила приводит к следующему дифференциальному уравнению для как функции , которое может быть решено численно.

In[7]:=
Click for copyable input
\[Theta]' == \[PlusMinus]FullSimplify[ Sqrt[ 2 g (Last[c[\[Theta]Max]] - Last[c[\[Theta]]])] /Sqrt[ c'[\[Theta]].c'[\[Theta]]] , g > 0 && T > 0]
Out[7]=

Визуализировать движение по таухотрону.

Запустить анимацию
Остановить анимацию

Родственные примеры

de en es fr ja ko pt-br zh