commit cbebbc592781b56cfab3c70b39ad494b5b3b61bb
parent a846cd78265af269dd0705b0782b65e83b494e05
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Wed, 2 Nov 2016 10:04:31 +0300
Copy elevation distribution part.
Diffstat:
2 files changed, 134 insertions(+), 1 deletion(-)
diff --git a/gnuplot/style.gnuplot b/gnuplot/style.gnuplot
@@ -0,0 +1,9 @@
+load 'linestyle.gnuplot'
+
+# axes
+set border 3
+set xtics nomirror out
+set ytics nomirror out
+
+# terminal
+set terminal svg fixed enhanced size 1920/4,900/3 font 'Times, 12' dashed rounded
diff --git a/phd-diss-ru.org b/phd-diss-ru.org
@@ -378,7 +378,131 @@ $\epsilon$:
**** АКФ прогрессивной волны.
*** Сравнение изученных методов
** Дополнительные формулы, методы и алгоритмы для модели АРСС
-*** Аппроксимация распределения аппликат.
+*** Аппроксимация распределения аппликат
+Одним из входных параметров генератора взволвнованной морской поверхности служит
+фнукция распределения волновых аппликат, которая может быть задана
+полиномиальной аппроксимацией натурных данных или аналитически.
+
+В cite:huang1980experimental было экспериментально показано, что распределение
+аппликат взволнованной морской поверхности отличается от нормального ненулевым
+экцессом и асимметрией. В cite:рожков1996теория показано, что такое
+распределение можно разложить в ряд Грама---Шарлье:
+\begin{align}
+ \label{eq:skew-normal-1}
+ F(z; \gamma_1, \gamma_2) & = \phi(z) - \gamma_1 \frac{\phi'''(z)}{3!} + \gamma_2 \frac{\phi''''(z)}{4!} \nonumber \\
+ & =
+ \frac{1}{2} \text{erf}\left[\frac{z}{\sqrt{2}}\right]
+ -
+ \frac{e^{-\frac{z^2}{2}}}{\sqrt{2\pi}}
+ \left[
+ \frac{1}{6} \gamma_1 \left(z^2-1\right)
+ + \frac{1}{24} \gamma_2 z \left(z^2-3\right)
+ \right]
+ ,\nonumber \\
+ f(z; \gamma_1, \gamma_2) & =
+ \frac{e^{-\frac{z^2}{2}}}{\sqrt{2 \pi }}
+ \left[
+ \frac{1}{6} \gamma_1 z \left(z^2-3\right)
+ + \frac{1}{24} \gamma_2 \left(z^4-6z^2+3\right)
+ +1
+ \right],
+\end{align}
+где $\phi(z)=\frac{1}{2}\mathrm{erf}(z/\sqrt{2})$, $\gamma_1$ --- асимметрия,
+$\gamma_2$ --- эксцесс, $f$ --- плотность распределения, $F$ --- функция
+распределения. Согласно cite:рожков1990вероятностные для аппликат морских волн
+значение асимметрии выбирается на интервале $0.1 \leq \gamma_1 \leq 0,52]$, а
+значение экцесса на интервале $0,1 \leq \gamma_2 \leq 0,7$. Вид плотности
+распределения при различных параметрах показан на~\cref{fig:skew-normal-1}.
+
+#+begin_src gnuplot :exports results
+load 'style.gnuplot'
+#load 'style-paper.gnuplot'
+
+set terminal svg fixed enhanced size 1920/5,900/3 font 'Times, 12' dashed rounded
+set key top center Left reverse width -10 maxrows 2
+set xlabel 'z' offset 0,0.33
+set ylabel 'f(z)' offset 2,0
+
+set xrange [-3:3]
+set ytics 0,0.1
+set yrange [0:0.6]
+
+skew_normal_1(z, skewness, kurtosis) = (24 + 4*z*(-3 + z**2)* \
+ skewness + (3 - 6*z**2 + z**4)* kurtosis)/(24*(exp((z**2)/2)*sqrt(2*pi)))
+
+#print skew_normal_1(1, 0.6, 1.0)
+# regular gamma γ
+
+set output 'skew-normal-1.svg'
+plot \
+skew_normal_1(x, 0, 0) with lines ls 1 title '𝛾_1=0, 𝛾_2=0', \
+skew_normal_1(x, 0.52, 0) with lines ls 2 title '𝛾_1=0.52, 𝛾_2=0', \
+skew_normal_1(x, 0, 0.7) with lines ls 3 title '𝛾_1=0, 𝛾_2=0.7', \
+skew_normal_1(x, 0.52, 0.7) with lines ls 4 title '𝛾_1=0.52, 𝛾_2=0.7'
+
+skew_normal_2(z, alpha) = \
+ erfc( -((z*alpha)/sqrt(2)) ) / \
+ (exp((z**2)/2)*sqrt(2*pi))
+
+skewness(alpha) = \
+ (sqrt(2) * (4 - pi) * (alpha**3)) \
+ / \
+ (sqrt(pi + (pi-2) * (alpha**2))**3)
+
+kurtosis(alpha) = \
+ (8*(-3 + pi)*(alpha**4))/ \
+ ((pi + (-2 + pi)*(alpha**2))**2)
+
+set terminal svg fixed enhanced size 1920/4,900/3 font 'Times, 12' dashed rounded
+set key top left Left reverse maxcols 1 maxrows 4
+set yrange [0:0.8]
+set output 'skew-normal-2.svg'
+alphas="0.00 0.87 2.25 4.90"
+a(i) = word(alphas, i)
+plot for [i=1:words(alphas)] \
+skew_normal_2(x, a(i)) with lines ls i \
+title 'α='.a(i).', 𝛾_1='.sprintf('%.2f',skewness(a(i))).', 𝛾_2='.sprintf('%.2f',kurtosis(a(i)))
+#+end_src
+
+\begin{figure}
+ \centering
+ \includegraphics{skew-normal-1}
+ \caption{Вид плотности распределения~\eqref{eq:skew-normal-1} волновых аппликат при различных значениях асимметрии $\gamma_1$ и эксцесса $\gamma_2$.}
+ \label{fig:skew-normal-1}
+\end{figure}
+
+Альтернативной аппроксимацией распределения волновых аппликат служит формула
+асимметричного нормального распределения:
+\begin{align}
+ \label{eq:skew-normal-2}
+ F(z; \alpha) & = \frac{1}{2}
+ \mathrm{erfc}\left[-\frac{z}{\sqrt{2}}
+ \right]-2 T(z,\alpha ), \nonumber \\
+ f(z; \alpha) & = \frac{e^{-\frac{z^2}{2}}}{\sqrt{2 \pi }}
+ \mathrm{erfc}\left[-\frac{\alpha z}{\sqrt{2}}\right],
+\end{align}
+где $T$ --- функция Оуэна cite:owen1956tables.
+
+\begin{figure}
+ \centering
+ \includegraphics{skew-normal-2}
+ \caption{Вид плотности распределения~\eqref{eq:skew-normal-2} волновых аппликат при различных значениях коэффициента асимметрии $\alpha$.}
+ \label{fig:skew-normal-2}
+\end{figure}
+
+Решение уравнения eqref:eq:distribution-transformation с выбранной функцией
+распределения можно произвести в каждой точке поверхности, что даст более точные
+результаты, но с вычислительной точки зрения эффективнее решить это уравнение в
+фиксированных узлах, а затем интерполировать решение методом наименьших
+квадратов (МНК). Функция аппроксимировалась многочленом 12 порядка на
+интерполяционной сетке из 500 узлов на промежутке $-5\sigma_z \leq z \leq
+5\sigma_z$. Увеличение порядка многочлена приводило либо к переполнениям при
+интерполяции МНК, либо к дополнительным коэффициентам близким к нулю; увеличение
+количества узлов также незначительно влияло на результат. В большинстве случаев
+трех коэффициентов ряда Грама---Шарлье было достаточно для преобразования
+автоковариационной функции; интерполяция увеличила относительную погрешность с
+$10^{-5}$ до $0,43\cdot10^{-3}$.
+
*** Генерация белого шума.
*** Генерация взволнованной поверхности.
** Верификация модели АРСС