Показать сообщение отдельно
  #14  
Старый 25.09.2012, 21:28
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Ну почему же Sample не участвует в вычислениях? Ведь именно это число самое главное, к тому же подтверждением этих сэмплов есть вывод их в txt. Они там благополучно присутствуют.
На счет инициализации s: Что, просто поставить в начале всего процесса S:=0; ? И еще: почему мы заменяем
Код:
s:=s+Sample;
на это?
Код:
s := s + (NumSamples + 1) * NumSamples div 2;

Если по формуле надо к S прибавлять X[i]. В моем случае это Sample.
На счет объединения я согласен, так лучше.
И все же меня обеспокоило, что вы думаете, что Sample не участвуют в вычислениях. А ведь должны...
Кстати я попробовал на своем файле ваш и мой коды и результаты отличаются. Вот мой код:
Код:
S: 2128579200
Xch: 5340,24566473988
M1: 1,14695763333214E16
M2: 1,50001740981296E16
M3: 2,58660334456677E21
M4: 4,71908198619544E21
Asymmetry: 1,30782285781133
Excess: 1,82443202824585
MaxAmplitude: 24927
BytsPerSample: 2
NumSamples: 398592
Вот ваш код:
Код:
S: 2128579200
Xch: 5340,24566473988
M1: 1,31551181265887E32
M2: 1,50001740981296E16
M3: 2,58660334456677E21
M4: 4,71908198619544E21
Asymmetry: 1,14025385053835E-16
Excess: 1,82443202824585
MaxAmplitude: 24927
BytsPerSample: 2
NumSamples: 398592
А еще если заменить мою строчку этой
Код:
s := s + (NumSamples + 1) * NumSamples div 2;

то вообще будет так:
Код:
S: -1789100032
Xch: -4488,54977520873
M1: 1,6427827395735E32
M2: 1,65569732810786E16
M3: 2,99953145624851E21
M4: 5,33904181819595E21
Asymmetry: 1,00786140992552E-16
Excess: 1,77995860222565
MaxAmplitude: 24927
BytsPerSample: 2
NumSamples: 398592
И как будет правильно я не знаю, что вы посоветуете?
Ответить с цитированием