37 votos

¿Cómo sumar y restar valores de una media?

Digamos que tengo 100 números que están promediados:

number of values = 100
total sum of values = 2000
mean = 2000 / 100 => 20

Si quiero añadir un valor y averiguar la nueva media:

total sum of values = 2000 + 100
mean = 2100 / 101 => 20.79

Si quiero restar un valor y averiguar la nueva media:

total sum of values = 2100 - 100
mean = 2000 / 100 => 20

Parece que funciona, pero ¿es correcto lo anterior?

¿Es ésta la forma correcta de sumar/restar valores de una media sin tener que volver a sumar los 100 números primero?

66voto

Aristotle Puntos 138

Sé que es un hilo antiguo pero yo tenía el mismo problema. Quiero añadir un valor a un promedio existente sin calcularlo de nuevo a la suma total.

para añadir un valor a una media existente sólo debemos saber para cuántos valores se calcula la media: $$ average_{new} = average_{old} + \frac{ value_{new} - average_{old}}{size_{new}} $$

33voto

Eric Puntos 156

No.

Los coches pueden tener cosas aún peores de lo que otros han sugerido.

NatSemi (y sin duda otros) fabrican reguladores de tensión diseñados para sobrevivir en un entorno de automoción.
Por ejemplo, el LM2940 LDO

Dicen que

  • Diseñado también para aplicaciones vehiculares, el LM2940/ LM2940C y todos los circuitos regulados están protegidos contra instalaciones de baterías invertidas o saltos de 2 baterías.

    Durante los transitorios de la línea, como la descarga de carga cuando la tensión de entrada puede momentáneamente la tensión máxima de funcionamiento especificada, el regulador se apagará automáticamente para proteger tanto los circuitos internos como la carga.

    El LM2940/LM2940C no puede ser dañado por la inserción temporal de un espejo. Las características conocidas del regulador como la protección contra cortocircuitos y sobrecargas térmicas. protección contra cortocircuitos y sobrecargas térmicas.

24voto

Damien Puntos 1

Para ponerlo en forma programática, y ya que la pregunta es sumar / restar:

Substraer un valor:

average = ((average * nbValues) - value) / (nbValues - 1);

Añade un valor:

average = average + ((value - average) / nbValues)

0voto

Sushrut Thakur Puntos 9

Otra fórmula puede ser

$$\text{NewAvg} = \frac{( \text{OldAvg} \cdot \text{OldSize} ) + \text{NewValue} } { \text{NewSize}}$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X