У меня вопрос довольно глупый.Неправильное получение среднего значения массива чисел
входные данные:
No:20 2.23 5.5 101 404 26.3
No:01 2.40 5.3 100 404 25.7
No:02 2.30 5.6 100 405 25.4
No:03 2.39 5.3 100 404 25.5
No:07 2.61 4.9 100 404 25.4
No:08 2.53
No:09 2.41 5.4 101 404 25.4
No:10 2.59 5. 100 404 25.4
No:11 2.55 5.4 101 404 25.3
No:12 2.3 5.3 100 404 25.5
No:13 2.47 5.2 100 404 25.
No:14 2.25 5.1 100 404 25.6
No:15 2.24 5.1 100 404 25.7
No:17 2.57 5.0 100 404 25.5
No:18 2.45 5.2 101 404 25.5
No:04 2.51 5.5 100 404 25.4
No:05 2.38 5.1 101 405 25.5No:04 2.51 5.5 100 404 25.4
No:06 2.29 5.1 100 405 25.3
No:07 2.53 4.9 100 404 25.4
No:08 2.41 5.2 100 404 25.5
No:07 2.46 4.9 100 404 27.6
No:05 2.23 5.1 100 404 25.0��
o:09 2.39 5.3 100 404 26.4
No:01 2.49 5.3 101 404 26.8
No:02 2.21 5.5 101 404 26.2
______________________________________and более
Я хочу, чтобы каждый сто конца средней линии элемента.
#!usr/bin/perl
use utf8;
while(<>){
if(/^No:\d{2}\s{3} \d\.\d{2}s{4} \d\.\d\s{3} \d{3}s{3} \d{3}s{3} \d{2}\.\d\s$/x){
chomp;
push @Array,[split/\s+/];
}
}
foreach (0..$#Array/100){
my $average=0;
$average += $Array[$_][5]/100 foreach($_..$_+100);
print "this is $average \n";
}
выход (средний)
23.836
26.5630000000001
26.462
26.462
26.361
26.462
26.5630000000001
29.694
26.664
26.967
** использовать MS Excel **
25.9530
25.4850
25.7610
25.3160
25.1650
25.7060
25.9500
25.6800
25.4720
25.4820
Что конкретно вопрос? – Sobrique
Предположительно, ваша проблема в том, что ваша функция дает разные значения, чем возвращает Excel. В качестве первого шага попробуйте сделать гораздо меньшую проблему, скажем, 10 рядов и возьмите среднее каждые 5 строк. Затем вы можете вручную вычислить ответ, чтобы решить, является ли ваша функция или (способ использования) Excel неправильной. – JenB
О чем ты говоришь? Для программы и данных, которые вы предоставили, на самом деле это «0». Пожалуйста, исправьте свой вопрос. – ikegami