Sunday 19 November 2017

C Promedio Móvil Simple


El principal defecto en su programa es que el cálculo recursivo es incorrecto. El valor actual es lo que número_calculación () devuelve. La suma de los valores restantes es num-1 multiplicada por la media de los valores restantes. El promedio de los valores restantes se calcula haciendo una llamada recursiva al promedio (). Así, escribimos lo siguiente: Un programa completo que use esa función podría tener este aspecto: Tenga en cuenta que esta no es una muy buena forma de calcular el promedio porque pierde precisión cada vez que divide la suma actual por num. Cuando este promedio se multiplica de nuevo a medida que vuelve la llamada recursiva, los dígitos significativos que perdió en la división no se restauran. Estás destruyendo la información dividiendo y luego multiplicando la suma. Para una mayor precisión, usted querrá hacer un seguimiento de la suma a medida que vaya a través de los elementos, luego divida al final. Otro punto a considerar es lo que se entiende por un promedio móvil. Lo que hemos implementado anteriormente no es una media móvil, sino un promedio fijo. Es el promedio de una ventana fija de elementos. Si mueve la ventana en una posición, tiene que empezar de nuevo y calcular de nuevo la suma. La forma correcta de implementar una ventana en movimiento es realizar un seguimiento de todos los elementos de la ventana. Cuando cambia la ventana una posición a la derecha, quita el elemento más a la izquierda de la ventana y resta su valor a la suma, luego agrega el nuevo elemento más a la derecha a la ventana y agrega su valor a la suma. Eso es lo que hace que sea una suma móvil. Dividir la suma móvil por el número de elementos le da el promedio móvil. La forma natural de implementar una ventana en movimiento es con una cola porque puede agregar nuevos elementos a la cabeza y eliminar elementos antiguos de la cola.

No comments:

Post a Comment