Разглаживание смоделированной траектории частицы
Используйте комбинацию BlockMap и TrimmedMean для разглаживания данных для траектории частицы.
Смоделируйте стохастический путь при помощи добавления помех к точной траектории.
In[1]:=
exact[u_] := {u Cos[u], u Sin[u]}
noise[u_] := RandomReal[CauchyDistribution[0, 1], 2]
data = Table[exact[u] + noise[u], {u, 0, 6 \[Pi], 1/100}];
In[2]:=
ListPlot[data, AspectRatio -> Automatic]
Out[2]=
Выравняйте смоделированную траекторию при помощи BlockMap, используя движущийся TrimmedMean для удаления возможных резко отклоняющихся значений.
In[3]:=
smooth[r_] := BlockMap[TrimmedMean, data, r, 1]
Увеличьте размер окна для получения более гладкой траектории.
In[4]:=
Table[ListPlot[smooth[r],
AspectRatio -> Automatic], {r, {25, 50, 100, 200}}]
Out[4]=