Friday, 6 October 2017

Matlab De Código Medio Móvil


Utilizando MATLAB, ¿cómo puedo encontrar el promedio móvil de 3 días de una columna específica de una matriz y añadir la media móvil a esa matriz? Estoy tratando de calcular el promedio móvil de 3 días de abajo hacia arriba de la matriz. He proporcionado mi código: Dada la siguiente matriz a y máscara: He intentado implementar el comando conv pero estoy recibiendo un error. Aquí está el comando conv que he estado tratando de usar en la segunda columna de la matriz a: La salida que deseo se da en la siguiente matriz: Si usted tiene alguna sugerencia, lo agradecería mucho. Gracias Por la columna 2 de la matriz a, estoy calculando el promedio móvil de 3 días de la siguiente manera y colocando el resultado en la columna 4 de la matriz a (I renombrado matriz a como 39desiredOutput39 sólo por ilustración). El promedio de 3 días de 17, 14, 11 es 14 el promedio de 3 días de 14, 11, 8 es 11 el promedio de 3 días de 11, 8, 5 es 8 y el promedio de 3 días de 8, 5, 2 es 5. No hay valor en las 2 filas inferiores para la cuarta columna porque el cálculo para la media móvil de 3 días comienza en la parte inferior. La salida 39valid39 no se mostrará hasta al menos 17, 14 y 11. Esperamos que esto tiene sentido ndash Aaron Jun 12 13 at 1:28 1 Respuesta En general, sería de ayuda si se muestra el error. En este caso usted está haciendo dos cosas mal: Primero su convolución necesita ser dividido por tres (o la longitud de la media móvil) Segundo, observe el tamaño de c. Usted no puede apenas caber c en a. La forma típica de obtener un promedio móvil sería usar lo mismo: pero eso no se parece a lo que quieres. En su lugar, se ve obligado a utilizar un par de líneas: Moving Average Función resultmovingmean (datos, ventana, dim, opción) calcula una media móvil centrada de los datos de matriz de datos utilizando un tamaño de ventana especificado en ventana en dim dimension, utilizando el algoritmo especificado en opción. Dim y la opción son las entradas opcionales y por defecto a 1. Dim y la opción de entradas opcionales se pueden omitir por completo o se puede reemplazar con a. Por ejemplo movingmean (data, window) dará los mismos resultados que movingmean (data, window, 1,1) o movingmean (data, window ,, 1). El tamaño y la dimensión de la matriz de datos de entrada sólo están limitados por el tamaño máximo de la matriz para la plataforma. La ventana debe ser un entero y debe ser impar. Si la ventana es uniforme entonces se redondea abajo al siguiente número impar más bajo. La función calcula el promedio móvil que incorpora un punto central y (ventana-1) / 2 elementos antes y después en la dimensión especificada. En los bordes de la matriz se reduce el número de elementos antes o después de modo que el tamaño real de la ventana sea menor que la ventana especificada. La función se divide en dos partes, un algoritmo 1d-2d y un algoritmo 3D. Esto se hizo para optimizar la velocidad de la solución, especialmente en matrices más pequeñas (es decir, 1000 x 1). Además, se proporcionan varios algoritmos diferentes para el problema 1d-2d y 3d, ya que en ciertos casos el algoritmo por defecto no es el más rápido. Esto ocurre típicamente cuando la matriz es muy ancha (es decir 100 x 100000 o 10 x 1000 x 1000) y el promedio móvil se calcula en la dimensión más corta. El tamaño en el que el algoritmo predeterminado es más lento dependerá de la computadora. MATLAB 7.8 (R2009a) Etiquetas para este archivo Por favor, inicie sesión para etiquetar archivos. Inicia sesión para añadir un comentario o calificación. Comentarios y Calificaciones (8) La función se ocupa de los extremos cortando la parte trasera o delantera de la ventana y pasando a una media móvil principal o descendente en lugar de una media centrada. Para ir con el ejemplo que dio en su comentario si el tamaño de la ventana es 3 entonces en un centro de 1 la media de la función de datos de los puntos 1 y 2 en un centro de 2 puntos 1, 2 y 3 se promedian en un centro de 9 Los puntos 8, 9 y 10 se promedian y en un centro de 10 (se supone que el vector tiene 10 entradas) los puntos 9 y 10 se promedian. ¿Cómo se mueve con los extremos Se empieza con un tamaño de ventana que abarca sólo el punto 1 en 1, luego 3 puntos en el punto 2, luego aumentando en el tamaño de la ventana hasta que el tamaño de la ventana sea el especificado en la entrada de la función Gracias. Bonito y simple. Gracias. Buen trabajo Muy útil como dijo Stephan Wolf. Justo lo que estaba buscando. Media móvil centrada que es capaz de trabajar en una trama en todo el ancho, sin tener que buscar el tamaño de ventana del filtro y mover el principio. Gran MathWorks Acelerar el ritmo de la ingeniería y la ciencia MathWorks es el desarrollador líder de software de computación matemática para ingenieros y científicos. Documentación tsmovavg salida tsmovavg (tsobj, s, lag) devuelve el promedio móvil simple para el objeto de serie temporal financiera, tsobj. Lag indica el número de puntos de datos anteriores utilizados con el punto de datos actual al calcular la media móvil. La salida tsmovavg (vector, s, lag, dim) devuelve la media móvil simple para un vector. Lag indica el número de puntos de datos anteriores utilizados con el punto de datos actual al calcular la media móvil. La salida tsmovavg (tsobj, e, timeperiod) devuelve la media móvil ponderada exponencial para la serie de tiempo financiero, tsobj. La media móvil exponencial es una media móvil ponderada, en la que timeperiod especifica el período de tiempo. Las medias móviles exponenciales reducen el retraso aplicando más peso a los precios recientes. Por ejemplo, una media móvil exponencial de 10 periodos pesa el precio más reciente en 18.18. Porcentaje exponencial 2 / (TIMEPER 1) o 2 / (WINDOWSIZE 1). La salida tsmovavg (vector, e, timeperiod, dim) devuelve la media móvil ponderada exponencial para un vector. La media móvil exponencial es una media móvil ponderada, en la que timeperiod especifica el período de tiempo. Las medias móviles exponenciales reducen el retraso aplicando más peso a los precios recientes. Por ejemplo, una media móvil exponencial de 10 periodos pesa el precio más reciente en 18.18. (2 / (periodo de tiempo 1)). La salida tsmovavg (tsobj, t, numperiod) devuelve la media móvil triangular para el objeto de serie temporal financiera, tsobj. La media móvil triangular dobla los datos. Tsmovavg calcula la primera media móvil simple con el ancho de la ventana de ceil (numperíodo 1) / 2. Luego calcula un segundo promedio móvil simple en el primer promedio móvil con el mismo tamaño de ventana. La salida tsmovavg (vector, t, numperiod, dim) devuelve el promedio móvil triangular de un vector. La media móvil triangular dobla los datos. Tsmovavg calcula la primera media móvil simple con el ancho de la ventana de ceil (numperíodo 1) / 2. Luego calcula un segundo promedio móvil simple en el primer promedio móvil con el mismo tamaño de ventana. La salida tsmovavg (tsobj, w, weights) devuelve la media móvil ponderada para el objeto de serie temporal financiera, tsobj. Suministrando pesos para cada elemento en la ventana en movimiento. La longitud del vector de peso determina el tamaño de la ventana. Si se utilizan factores de peso mayores para precios más recientes y factores más pequeños para los precios anteriores, la tendencia es más sensible a los cambios recientes. La salida tsmovavg (vector, w, pesos, dim) devuelve la media móvil ponderada del vector suministrando pesos para cada elemento de la ventana en movimiento. La longitud del vector de peso determina el tamaño de la ventana. Si se utilizan factores de peso mayores para precios más recientes y factores más pequeños para los precios anteriores, la tendencia es más sensible a los cambios recientes. La salida tsmovavg (tsobj, m, numperiod) devuelve la media móvil modificada para el objeto de serie temporal financiera, tsobj. La media móvil modificada es similar a la media móvil simple. Considere el argumento numperiod como el desfase de la media móvil simple. La primera media móvil modificada se calcula como una media móvil simple. Los valores subsiguientes se calculan sumando el nuevo precio y restando el último promedio de la suma resultante. La salida tsmovavg (vector, m, numperiod, dim) devuelve la media móvil modificada para el vector. La media móvil modificada es similar a la media móvil simple. Considere el argumento numperiod como el desfase de la media móvil simple. La primera media móvil modificada se calcula como una media móvil simple. Los valores subsiguientes se calculan sumando el nuevo precio y restando el último promedio de la suma resultante. Dim 8212 dimensión para operar a lo largo de entero positivo con valor 1 o 2 Dimensión para operar a lo largo, especificado como un entero positivo con un valor de 1 o 2. dim es un argumento de entrada opcional, y si no se incluye como una entrada, el valor predeterminado Se asume el valor 2. El valor predeterminado de dim 2 indica una matriz orientada a filas, donde cada fila es una variable y cada columna es una observación. Si dim 1. se supone que la entrada es un vector de columna o una matriz orientada a columnas, donde cada columna es una variable y cada fila una observación. E 8212 Indicador para el vector de caracteres de media móvil exponencial El promedio móvil exponencial es una media móvil ponderada, en la que el tiempo es el período de tiempo de la media móvil exponencial. Las medias móviles exponenciales reducen el retraso aplicando más peso a los precios recientes. Por ejemplo, una media móvil exponencial de 10 periodos pesa el precio más reciente en 18.18. Porcentaje exponencial 2 / (TIMEPER 1) o 2 / (WINDOWSIZE 1) período de tiempo 8212 Longitud del período de tiempo entero no negativo Seleccione su país

No comments:

Post a Comment