6.
Взвешенное среднее арифметическое числового вектора по вектору
Для набора чисел \(X=(x_1,x_2,\cdots x_n)\) и набора "весов" \(M=(m_1,m_2,\cdots m_n)\) взвешенное среднее арифметическое значение определяется следующим образом:
\(\chi = \frac{x_1m_1+x_2m_2+\cdots + x_nm_n} {m_1+m_2+\cdots +m_n}\)
Обычно на набор весов накладывается условие "положительности всех весов". Здесь мы ограничемся требованием, что \(sum(M) \neq 0\)
Нетрудно заметить, что среднее арифметическое - это взвешенное среднее арифметическое по набору (1, ..., 1)
Задача.
Для новогодних подарков взяли смесь из \(n\) сортов конфет. Конфеты \(i-го\ сорта\ стоят\ a_i\ руб/кг\ и\ их\ взяли\ b_i\ кг \).
Определите стоимость кг смеси конфет.
Решение: Надо найти взвешенное среднее арифметическое набора "стоимостей" по набору "весов".
Даны два числовых вектора одинакового размера (списоков/кортежей чисел) \(A, B\).
Напишите программу, которая определит взвешенное среднее арифметическое вектора \(A\) с весами вектора \(B\).
Программа должна возвращать одно число \(\chi\) - взвешенное среднее арифметическое.
Гарантируется, что сумма элементов вектора \(B\) не равна нулю
A
|
B
|
\(\chi\)
|
[1,3,2]
|
[2,1,2]
|
1.8
|
Вставьте недостающие фрагменты кода
Python
def accuracy_solution(A,B):
# A- список/кортеж чисел;
# B- список/кортеж весов;
# x - взвешенное среднее арифметическое A по B
|
|
return x
|
|
|