Как стать автором
Обновить

Лунный звездный месяц (27.32 дней), лунный месяц по фазам Луны (29.5306 дней) в радиоактивном распаде

Время на прочтение6 мин
Количество просмотров3.2K

Эта статья продолжение серии публикаций по эффекту Шноля - космо-физических циклов проявляющихся в случайных процессах (прежде всего в радиоактивном распаде). Здесь приведенный алгоритм используется и в данной статье. Изменение косметические (графики вероятностей не двигаются до более полного совпадения по дистанции Эвклида). Данные предоставлены пользователем 48 дней с 19 декабря 2012 года по 6 февраля 2013 года распад стронция-90, измерение дозиметром ДП-5В.

27.32 лунный звездный месяц
27.32 лунный звездный месяц
import ephem
date = ephem.now()
str(ephem.next_full_moon(date))
'2021/9/20 23:54:39' - Полнолуние 20 сентября 2021 года 23:54 UTC

Надо отметить что периоды как звездного года так и лунного месяца приблизительны. Продолжительность года, тропического, и сидерического вместе с ним, величина нестабильная...http://www.solar-climate.com/pd/MEZH2013.pdf

Продолжение функции pikmatch (из дальнего угла статьи) самое важное — комбинаторное сравнение критических точек.

ret=(ab1/ab2)/(nb1/nb2); — Соотношение высоты (y ось) критических точек внутри одной функции к такому же соотношению внутри другой функции

re=(ac1/ac2)/(nc1/nc2) — То же что и в предыдущем случае но теперь по оси x длины между точками

red=(φ°/ξ°)/(θ°/τ°) — В заключении меряем углы

rme=(ab1+1)*(ab2+1)*(nb1+1)*(nb2+1); — коэффициент важности отношения

Теперь финальная формула res=re*red*ret*rme
res — это показатель похожести функции 1 на функцию 2

    for e in range(len(p)+len(p1)):  
     for l in range(len(p)+len(p1)):  
      if e>=len(p): me=minx[e-len(p)];pe=p1[e-len(p)];nme=nm1[e-len(p)];
      else: me=maxx[e];pe=p[e];nme=nm[e];
      if l>=len(p): ml=minx[l-len(p)];pl=p1[l-len(p)];nml=nm1[l-len(p)];
      else: ml=maxx[l];pl=p[l];nml=nm[l];
      red1=1;red=1;ab=y[pl]-y[pe];ac=pe-pl;au=x[ml]-x[me];ao=me-ml;hip=math.sqrt(ab**2+ac**2);hipe=math.sqrt(ao**2+au**2);
      if (hip!=0)and(hipe!=0): 
       if math.asin(abs(au)/hipe)!=0:
        red=abs(abs(math.asin(abs(ab)/hip)/math.asin(abs(au)/hipe))); # меряем углы
      ret=abs(1-abs((0.00+abs((y[pl]+0.01)/(y[pe]+0.01)))/(0.00+abs((x[ml]+0.01)/(x[me]+0.01)))));uj=uj+1;
      re=0+abs(1-abs(float(abs(pe-pl)+1))/float(abs(me-ml)+1));rme=(y[pe]+1)*(y[pl]+1)*(x[me]+1)*(x[ml]+1);rmu+=rme; 
      res+=abs(re*rme*red*ret);
    return len(pi)*len(pi),res/uj,p,p1; # или /uj?  rmu

До этого идет подготовка двух вероятностей к сравнению:

matrix = pickle.load(open("natrix.pkl","rb"));
koeff=60;ex=20;ko=60;b=[0 for e in range(ko+ex)];bb=[0 for e in range(ko+ex)];#C:\\28-08-2004.txt /usr/local/28-08-2004.txt
    #matrix = [line.strip() for line in open('/users/andrejeremcuk/downloads/natrix.txt')]; #days.dat
arra=[[ 0 for e in range(koeff)] for t in range(int(len(matrix)/koeff))];harra=[0 for t in range(int(len(matrix)/koeff))];
arrab=[[ 0 for e in range(koeff)] for t in range(int(len(matrix)/koeff))];harrab=[0 for t in range(int(len(matrix)/koeff))];z=0;
for i in range(len(matrix)): matrix[i]=int(matrix[i]);

for jk in range(1440*48): #int(len(matrix)/koeff)
 for mk in range(koeff): arra[jk][mk]=matrix[z];z=z+1;

for jk in range(1440*48): #440*48
 harra[jk]=np.histogram(arra[jk], bins=ko, density=False);harrab[jk]=np.histogram(arra[jk], bins=ko, density=False);harra[jk]=harra[jk][0];harrab[jk]=harrab[jk][0]
 for u in range(5): harra[jk] = movingaverage(harra[jk], 4);harrab[jk]=movingaverage(harrab[jk], 4);

Подготовка и загрузка данных.

Обработка данных и функция сравнения 15*1440 раз попарное с отступом сравнение картинок вероятностей:

def stat_distanc(counter):
    for mk in range(1440*15):# 24000
     mi=[];mis=[];mis1=[];mii=[];ei=[];ti=[];dots=[];dots1=[];resume=0;resum=0;
     if counter=='l': rn=random.randint(0,1439);x=harra[mk];y=harra[random.randint(0,1440*48)];#print rn;  #y=harra[random.randint(0,1439)];
     else: y=harra[mk+int(1440*29.5306)-counter];x=harra[mk];#29.5306 #27.32
     #print(x);print(y)
     optimal=0;ret=pik(x,y);minmaxx=ret[6];minmaxy=ret[7];maxx=ret[0];maxy=ret[1];minx=ret[2];miny=ret[3]
     optimal1=0;#print mk;
     #for k in range(len(minmaxx)): dots.append(x[minmaxx[k]]);#minmaxx[k]=59-minmaxx[k];
     #for k in range(len(minmaxy)): dots1.append(y[minmaxy[k]]);#minmaxy[k]=59-minmaxy[k]
     outputs=pikmatch(x,y,maxx,maxy,-optimal,minmaxx,miny,minx);
     outputs1=pikmatch(y,x,maxy,maxx,optimal,minmaxy,minx,miny);
     #.set_alpha(0.5)
     mx1=minmaxx[:];my1=minmaxy[:];mxx1=maxx[:];mxx2=minx[:]
     for k in range(len(minmaxx)): dots.append(x[minmaxx[k]]);minmaxx[k]=59-minmaxx[k];
     for k in range(len(maxx)): maxx[k]=59-maxx[k];
     for k in range(len(minx)): minx[k]=59-minx[k];
     minmaxx=minmaxx[::-1];maxx=maxx[::-1];minx=minx[::-1];
     output=pikmatch(x[::-1],y,maxx,maxy,-optimal1,minmaxx,miny,minx);minmaxx=minmaxx[::-1];mx2=minmaxx[:]; #
     for k in range(len(minmaxy)): dots1.append(y[minmaxy[k]]);#minmaxy[k]=59-minmaxy[k]
     minmaxx=mx1[:];
     output1=pikmatch(y,x[::-1],maxy,maxx,optimal1,minmaxy,minx,miny);
     #data.append((min(outputs1[1]+outputs[1],output[1]+output1[1])))
     resume+=(min(outputs1[1]+outputs[1],output[1]+output1[1]));
    return resume/100;
base=[];
for i in range(1,40): 
 base.append(stat_distanc(-i));print(i,base[-1])

Итак - это список y=harra[mk+int(1440*29.5306)-counter];x=harra[mk]

В сутках 1440 минут.

Сравнение двух гистограмм y и x

mk пробегает все значения от 0 до 15*1440 int(1440*27.32)=int(39340.8)=39340

или int(1440*27.32)-counter= 39340-(-1)=39341 минуты разницы между парами гистограмм. Всего порядко 71000 пар минутных гистограмм в базе данных natrix.pkl

(1, 0.03720469975390827) - counter=(-1)  звездный лунный месяц!
(2, 0.8240805685848609)
(3, 0.18026863339278953)
(4, 0.18890286408574447)
(5, 0.25710611034587094)
(6, 0.40811789053184866)
(7, 0.02679778984615549) - экстремум
(8, 0.19556993703556264)
(9, 0.2656108825684261)
(10, 0.7023092195454633)
(11, 0.9020048813995623)
(12, 0.15056575136836448)
(13, 0.20395566152660963)
(14, 0.13283778948543773)
(15, 0.13547446924583462)
(16, 0.7920960027018115)
(17, 0.2083328640919179)
(18, 0.13067942631807888)
(19, 0.7859644559915133)
(20, 3.604454511125762)
(21, 0.13440820636528378)
(22, 0.20746970222675998)
(23, 0.0510968974544833)
(24, 0.9530861712762281)
(25, 0.1284584909718456)
(26, 0.15656732573418314)
(27, 1.176506212754484)
(28, 0.04871082635360579)
(29, 0.38628477666689237)
(30, 0.15699750109619914)
(31, 0.23916752153424567)
(32, 0.08397878096311373)
(33, 0.10648490713511728)
(34, 0.24418916134642366)
(35, 0.8269781626995687)
(36, 0.05185633430034331)
(37, 23.874726604353317)
(38, 0.8699272070552455)
(39, 0.2904253601196485)

Полный файл от +1 до +1440 минут сравнения 15*1440 пар;

Итак - это список y=harra[mk+int(1440*29.5306)-counter];x=harra[mk]

В сутках 1440 минут.

Сравнение двух гистограмм y и x

mk пробегает все значения от 0 до 15*1440 int(1440*29.5306)=int(42524.064)=42524

или int(1440*29.5306)-counter= 42524-(-1)=42525 минуты разницы между парами гистограмм. Всего порядко 71000 пар минутных гистограмм в базе данных natrix.pkl

(1, 0.03287808742170125) - counter=-1 Экстремум на фазном лунном месяце!
(синодический месяц)
(2, 0.04950575951819716)
(3, 0.806490136900523)
(4, 0.046990467649853505)
(5, 0.0532420976445049)
(6, 0.09002399019948747)
(7, 0.027606309655760546) - тоже экстремум
(8, 0.11782569015338376)
(9, 0.5374459426710351)
(10, 0.07008143466407309)
(11, 0.04994860016543793)
(12, 0.03345387053788801)
(13, 0.30361706608612754)
(14, 0.7318734780107466)
(15, 0.7908768432448845)
(16, 0.03926979110341043)
(17, 0.10123586725375504)
(18, 0.06118780321833314)
(19, 0.7053190975690488)
(20, 0.5964417623151171)
(21, 0.1399610359044906)
(22, 0.425152950080484)
(23, 0.1417306967135202)
(24, 0.17499408827928842)
(25, 0.07561006907504836)
(26, 0.07849399200880486)
(27, 0.08423551075280011)
(28, 0.44475709935476937)
(29, 0.018872329737888528) - экстремум
(30, 0.04165488266741375)
(31, 0.0635971263446504)
(32, 0.11246050170616367)
(33, 0.23838722809785304)
(34, 0.45498725814384633)
(35, 2.553495182239864)
(36, 2.188657924894538)
(37, 0.037402046247959495)
(38, 0.12171633541393172)
(39, 0.24907168355833093)
base=[];
for i in range(1440): 
 base.append(stat_distanc(-i));print(i,base[-1])

Аномалистический месяц - промежуток времени между последовательными прохождениями Луны через перигей ее орбиты (27.55455 сут).

Драконический месяц - промежуток времени между последовательными прохождениями Луны через один и тот же узел ее орбиты на эклиптике (27.21222 сут); имеет значение в теории затмений.

Сидерический или звездный месяц - промежуток времени, за который Луна совершает оборот вокруг Земли и возвращается в ту же точку небесной сферы относительно звезд; равен периоду вращения Луны (27d07h43m11s = 27.32166 сут).

Синодический или лунный месяц - период смены лунных фаз (29d12h44m03s = 29.53059 сут; меняется от 29.25d до 29.83d вследствие эллиптичности лунной орбиты); служит основанием лунных календарей.

Тропический месяц - период возвращения Луны к той же эклиптической долготе, например, к точке весеннего равноденствия (27.32158 сут).

Вывод такой: очень странно что два экстремума суммы похожих пар гистограмм приходятся на звездный лунный месяц и лунный месяц фаз (синодический месяц).

0.03287808742170125 - 29.5306 дней

0.03720469975390827 - 27.32 дней

Планируется следующая статья про периоды в радиоактивном распаде соотнесенном с временем рассвета заката солнца и луны. Видимость звезд. Эфемериды.

Теги:
Хабы:
Всего голосов 13: ↑5 и ↓8-3
Комментарии23

Публикации

Истории

Работа

Python разработчик
136 вакансий
Data Scientist
60 вакансий

Ближайшие события