Изучение чувствительности решений уравнения Дуффинга к изменениям в начальных условиях.
Для упрощения последующих вычислений используем команду ParametricNDSolveValue, в которой начальные условия являются параметрами, а остальные параметры фиксированы.
In[1]:=
X
Out[1]=
Производные объекта ParametricFunction по параметрам a и b являются чувствительностями относительно начальных значений для x и его производной x соответственно.
In[2]:=
X
Out[2]=
Отображение графика решения, с начальными значениями {0, 0} и графиков чувствительностей в логарифмическом масштабе.
In[3]:=
X
Out[3]=
Огромные значения чувствительностей указывают на то, что даже малейшее изменение в одном из параметров повлечёт существенное отклонение в решении. Ниже приведены графики решений с малым отклонением от нулевых начальных условий по каждому из направлений.
In[4]:=
X
Out[4]=
Ещё один способ визуализации чувствительности - это произвести её локальное разбиение на составляющие, параллельные и перпендикулярные к направлению траектории на фазовой плоскости.
Определим функцию, находящую вектор, перпендикулярный к траектории как функцию от времени.
In[5]:=
X
Теперь определим функции, дающие модуль компонент чувствительности по отношению к начальному значению x в параллельном и перпендикулярном направлениях.
In[6]:=
X
In[7]:=
X
Для этого уравнения эти две компоненты растут со сравнимыми скоростями.
Разбиение на компоненты позволяет строить занятные визуализации на фазовой плоскости. Изменение масштаба чувствительности позволяет наблюдать её эффект для различных временных интервалов.