Не хочу пока. Я надеялся что меня понимают.
Саспенс однако

Пришлось обращаться к ИИ для разгадки.
Ну похоже, что вычисляется положение "центра масс" линейки на которую на деления 1,2,3... положены гирьки с массами указанными в векторе

Тогда
Код:
v = [0, 0, 0, 0, 1, 2, 11, 37, 58, 139, 164, 190, 189, 127, 57, 31, 9, 1, 1, 0, 0];
? w = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
? v*w~/vecsum(v)+0.0
%1 = 11.958702064896755162241887905604719764
?
Функция:
mass_center(v)=vector(#v,i,i)*v~/vecsum(v)Запускаем:
Код:
? mass_center([0, 0, 0, 0, 0, 1, 12, 33, 65, 107, 195, 212, 211, 131, 82, 52, 10, 4, 0, 0, 0])+0.0
%1 = 12.178475336322869955156950672645739910
?
Вариант (работает примерно в 1,5 раза медленнее):
Код:
mass_center2(v)=sum(i=1,#v,v[i]*i)/vecsum(v)