Математическое среднее число с php

Время для тестирования математических навыков...

Я использую php для нахождения среднего числа $num1, $num2, $num3 и так далее; до суммы сброса чисел. Это тогда сохраняет то среднее число к базе данных.

В следующий раз, когда сценарий PHP называют, новое число добавляется к соединению.

Есть ли математика (наиболее вероятная алгебра) уравнение, которое я могу использовать для нахождения среднего числа исходных чисел с новым числом включенным. Или я должен сохранить исходные числа в базе данных, таким образом, я могу запросить их и повторно вычислить весь набор чисел вместе?

15
задан Marcus 10 January 2010 в 02:13
поделиться

6 ответов

Если то, что вы подразумеваете под средним значением, является средним, и вы не хотите хранить все числа, сохраните количество чисел:

$last_average = 100;
$total_numbers = 10;
$new_number = 54;

$new_average = (($last_average * $total_numbers) + $new_number) / ($total_number + 1);
13
ответ дан 30 November 2019 в 23:49
поделиться

Вам необходимо сохранить все исходные номера в базе данных.

-3
ответ дан 30 November 2019 в 23:49
поделиться
Average = Sum / Number of values

Просто храните все 3 значения, нет необходимости ничего сложного.

Если вы храните в среднем и SUM , затем рассчитать количество значений , вы потеряете немного точности из-за усечения среднего.

Если вы храните в среднем и количество значений , затем рассчитать Sum , вы потеряете еще более точно. У вас есть больше поля для ошибки при расчете правильного значения для Количество значений , чем Sum Сумма Благодаря этому - это целое число.

12
ответ дан 30 November 2019 в 23:49
поделиться

Обычно то, что вы можете сделать, это сохранить две части информации:

  • сумма всех чисел
  • Подсчет чисел

всякий раз, когда вы хотите получить среднее, разделить Сумма по количеству (позаботиться о случае счета == 0, конечно). Всякий раз, когда вы хотите включить новый номер, добавьте новый номер на сумму и увеличивайте счетчик на 1.

-121--2422905-

Это называется «беговой средней» или « в среднем в среднем ».

Если база данных хранит среднее значение и количество средств, усредненное, можно будет рассчитать новое среднее значение для каждого нового значения.

0
ответ дан 30 November 2019 в 23:49
поделиться

Обычно то, что вы можете сделать, это экономить две части информации:

  • сумма всех чисел
  • количество номеров

всякий раз, когда вы хотите получить Среднее, разделите сумму по счетчику (позаботиться о случае счета == 0, конечно). Всякий раз, когда вы хотите включить новый номер, добавьте новый номер в сумму и увеличивайте счетчик на 1.

1
ответ дан 30 November 2019 в 23:49
поделиться

Если вы знаете количество чисел, вы можете рассчитать старую сумму, добавить новую сумму и разделить старую сумму плюс один.

$oldsum = $average * $amount;
$newaverage = ($oldsum + $newnum) / ($amount + 1);
1
ответ дан 30 November 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: