Распределение Александрова

По ссылке
https://www.conceptdraw.com/solution-park/QLT_TOOL_7BASIC
наугад взял гистограмму и довольно точно вычислил проценты над каждым столбиком. На основании этих данных сформировал файл "wind.txt":

1 0.027
2 0.052
........
20 0.002

Далее методом Монте-Карло нашел три оптимальных параметра распределения Александрова. Это "a","b","c". Программа на Yabasic совсем детская:

open #1,"Documents/wind.txt","r"
dim x(100),y(100),f(100)
z=.001
for i=1 to 20
input #1 x(i),y(i)
print x(i),y(i)
next i
a0=-1:b0=1:c0=1
s1=10^100
nn=300000000
for j=1 to nn
a=a0*(1+z*(ran()-.5))
b=b0*(1+z*(ran()-.5))
c=c0*(1+z*(ran()-.5))
s=0
for i=1 to 20
x=x(i)
f(i)=-a*exp(a*x^(b*x^c))*x^(b*x^c)*
(b*x^(c-1)+b*c*x^(c-1)*log(x))
s=s+(y(i)-f(i))^2
next i
if s<=s1 then
print a,b,c,s
s1=s
a0=a:b0=b:c0=c
fi
next j

После трёхсот миллионов циклов были рассчитаны оптимальные результаты:

a=-0.0135297 ; b=2.00806 ; c=0.000080081
Сумма квадратов отклонений по двадцати точкам равна 0.00000434464. Это превосходный результат для натурных наблюдений. Если построить график функции f , то совпадение будет просто безукоризненным!
На зеленоватом фоне в правой верхней части рисунка - самый конец процесса вычислений. Последняя строка - и есть решение задачи! Очень маленькое число в конце есть сумма квадратов отклонений расчетных значений f от заданных y(i) в файле "wind.txt".
 
11 апреля 2021 г.


Рецензии
🌿🌷🌿🌷🌿🌷🌿🌷🌿🌷🌿
ПОЗДРАВЛЯЮ!!!🍾🍾🍾
🌿🌷🌿🌷🌿🌷🌿🌷🌿🌷🌿

Нина Долгань   12.04.2021 10:59     Заявить о нарушении
Спасибо, Нина! Жить буду до старости!)))

Георгий Александров   13.04.2021 00:15   Заявить о нарушении
Улыбнул!😇

Нина Долгань   13.04.2021 04:34   Заявить о нарушении