def dt2(x,y):
    uu=0;
    for i in range(len(x)-3):
     uu1=abs((x[i]/x[i+1])-(y[i]/y[i+1]));
     uu2=abs((x[i]/x[i+2])-(y[i]/y[i+2]));
     uu3=abs((x[i]/x[i+3])-(y[i]/y[i+3]));
     uu+=uu1+uu2+uu3;
    return uu;

Есть данные за 2 дня мая 2005 года 2 дня мая 2006 года. Цель найти в сумме 1440 сравнений[60*24] звездный год.

Подготовка ввода данных радиоактивного распада.

import math
import random
from statistics import mean
koeff=60;
matrix = [line.strip() for line in open('/users/andrejeremcuk/downloads/0505.txt')];
matrix1 = [line.strip() for line in open('/users/andrejeremcuk/downloads/0506.txt')];
matrixd = [line.strip() for line in open('/users/andrejeremcuk/downloads/days.dat')];


arra=[[ 0 for e in range(koeff)] for t in range(int(len(matrix)/koeff))];
arra1=[[ 0 for e in range(koeff)] for t in range(int(len(matrix)/koeff))];
arrad=[[ 0 for e in range(koeff)] for t in range(int(len(matrixd)/koeff))];

for i in range(len(matrix)): matrix[i]=int(matrix[i]);matrix1[i]=int(matrix1[i]);

for i in range(len(matrixd)): matrixd[i]=int(matrixd[i]);

z=0;
for jk in range(int(len(matrix)/koeff)): #int(len(matrix)/koeff)
 for mk in range(koeff): arra[jk][mk]=float(matrix[z]);arra1[jk][mk]=float(matrix1[z]);z=z+1;

z=0;
for jk in range(int(len(matrixd)/koeff)): 
 for mk in range(koeff): arrad[jk][mk]=float(matrixd[z]);z=z+1;
def distt(rast):
    statistic=0;
    for jk in range(1440):
     x=arra[jk];y=arra1[jk+rast];
     statistic+=dt2(x,y);
    return statistic;

Результаты выполнения кода - на гитхабе подсчитаны все значения от +1 минуты до + 1440 минут сдвиг 2005 года от 2006 года.

>>> distt(369)
30142.867396646434
>>> distt(368)
29888.11808805372-Наименьшее значение из всех сдвигов от 0 до +1440 минут
>>> distt(367)
30128.959797342242
>>> distt(366)
30139.531482650476
>>> distt(365)
30080.92313005219
>>> distt(364)
30119.64335915869
>>> distt(363)
30192.614068153922
>>> distt(362)
30054.03651908298
>>> distt(361)
30053.5344380305
>>> distt(360)
30019.741597642616
>>> distt(359)
30104.687833185995
>>> distt(358)
30210.36149590906

Комментарии (7)


  1. echo10
    05.03.2022 05:11
    +10

    Поясните, пожалуйста, о чём идет речь.


    1. unsignedchar
      05.03.2022 12:55
      +1

      Я так понимаю, что на входе у программы - данные из детектора гамма-частиц. А что на выходе - без пояснительной бригады не разобраться.


  1. count_enable
    05.03.2022 13:33
    +2

    Симон Шноль много лет продвигал гипотезу о существовании глобального фактора влияющего на стохастические процессы, в т.ч. на радиоактивный распад. Фактор этот не изотропен, и меняется по времени. На стороне Шноля десятки лет наблюдений над процессами различной природы, сотни тысяч экспериментов. Против него вся остальная физика. Я так понял что это одна из попыток доказать гипотезу, но сделанная очень небрежно.


    1. unsignedchar
      05.03.2022 15:51

      Нумерология какая-то получилась :(.


    1. blue_limon Автор
      06.03.2022 13:13

      Небрежно - зато очень просто (в отличии от других моих и чужих алгоритмов). Этот алгоритм элементарен. Тут сравниваются данные распада с разницей в 365 дней и 368 минут


  1. nickolas059
    05.03.2022 20:10
    +1

    Зато я про Симон Шноль узнал. Правда из комментария


  1. mikhail_roslov
    05.03.2022 20:38

    Для улучшения читабельности кода на python есть ряд "договоренностей", в частности PEP8. Не то, чтобы я придираюсь, но даже посмотрев на этот код спустя какое-то время потребуется время на понимание деталей. Соблюдая SOLID и правила оформления кода + комментарии для понимания, что делает какая часть кода, время на понимание кода в будущем сокращается кратно.