Main Content

movmean

Descripción

ejemplo

M = movmean(A,k) devuelve un arreglo de valores locales de media de k puntos, donde se calcula cada media con una ventana deslizante de longitud k a través de elementos vecinos de A. Cuando k es impar, la ventana se centra sobre el elemento en la posición actual. Cuando k es par, la ventana se centra sobre los elementos actuales y anteriores. El tamaño de la ventana está truncado automáticamente en los puntos finales cuando no hay suficientes elementos para rellenar la ventana. Cuando la ventana está truncada, la media se toma únicamente sobre los elementos que rellenan la ventana. M es del mismo tamaño que A.

  • Si A es un vector, movmean opera en la longitud del vector A.

  • Si A es un arreglo multidimensional, movmean opera en la primera dimensión de A cuyo tamaño no es igual a 1.

ejemplo

M = movmean(A,[kb kf]) calcula la media con una ventana de longitud kb+kf+1 que incluye el elemento en la posición actual, los elementos kb hacia atrás, y los elementos kf hacia adelante.

ejemplo

M = movmean(___,dim) especifica la dimensión de A en la que operar para cualquiera de las sintaxis anteriores. Por ejemplo, si A es una matriz, movmean(A,k,2) opera en las columnas de A, calculando la media deslizante de k elementos para cada fila.

ejemplo

M = movmean(___,nanflag) especifica si incluir u omitir valores NaN en A. Por ejemplo, movmean(A,k,"omitnan") ignora los valores NaN al calcular cada media. De forma predeterminada, movmean incluye valores NaN.

ejemplo

M = movmean(___,Name,Value) especifica parámetros adicionales para la media móvil utilizando uno o más argumentos de par nombre-valor. Por ejemplo, si x es un vector de valores de tiempo, movmean(A,k,"SamplePoints",x) calcula la media móvil relativa a los tiempos en x.

Ejemplos

contraer todo

Calcule la media móvil centrada en tres puntos de un vector fila. Cuando hay menos de tres elementos en la ventana en los puntos finales, tome la media sobre los elementos que están disponibles.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movmean(A,3)
M = 1×10

    6.0000    6.0000    4.3333    1.0000   -2.0000   -2.0000   -0.3333    2.0000    4.0000    4.5000

Calcule la media móvil final en tres puntos de un vector fila. Cuando hay menos de tres elementos en la ventana en los puntos finales, tome la media sobre los elementos que están disponibles.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movmean(A,[2 0])
M = 1×10

    4.0000    6.0000    6.0000    4.3333    1.0000   -2.0000   -2.0000   -0.3333    2.0000    4.0000

Calcule la media móvil centrada en tres puntos para cada fila de una matriz. La ventana comienza en la primera fila y se desliza horizontalmente hasta el final de la fila. Después, se mueve hacia la segunda fila, y así sucesivamente. El argumento de dimensión es dos, que desliza la ventana a través de las columnas de A.

A = [4 8 6; -1 -2 -3; -1 3 4]
A = 3×3

     4     8     6
    -1    -2    -3
    -1     3     4

M = movmean(A,3,2)
M = 3×3

    6.0000    6.0000    7.0000
   -1.5000   -2.0000   -2.5000
    1.0000    2.0000    3.5000

Calcule la media móvil centrada en tres puntos de un vector fila que contiene dos elementos NaN.

A = [4 8 NaN -1 -2 -3 NaN 3 4 5];
M = movmean(A,3)
M = 1×10

    6.0000       NaN       NaN       NaN   -2.0000       NaN       NaN       NaN    4.0000    4.5000

Recalcule la media, pero omita los valores NaN. Cuando movmean omite los elementos NaN, calcula la media sobre los elementos restantes en la ventana.

M = movmean(A,3,"omitnan")
M = 1×10

    6.0000    6.0000    3.5000   -1.5000   -2.0000   -2.5000         0    3.5000    4.0000    4.5000

Calcule una media móvil centrada en 3 horas de los datos en A de acuerdo con el vector de tiempo t.

A = [4 8 6 -1 -2 -3];
k = hours(3);
t = datetime(2016,1,1,0,0,0) + hours(0:5)
t = 1x6 datetime
   01-Jan-2016 00:00:00   01-Jan-2016 01:00:00   01-Jan-2016 02:00:00   01-Jan-2016 03:00:00   01-Jan-2016 04:00:00   01-Jan-2016 05:00:00

M = movmean(A,k,"SamplePoints",t)
M = 1×6

    6.0000    6.0000    4.3333    1.0000   -2.0000   -2.5000

Calcule la media móvil centrada en tres puntos de un vector fila, pero descarte cualquier cálculo que utilice menos de tres puntos desde la salida. En otras palabras, devuelva únicamente las medias calculadas de una ventana completa de tres elementos, descartando los cálculos de punto final.

A = [4 8 6 -1 -2 -3 -1 3 4 5];
M = movmean(A,3,"Endpoints","discard")
M = 1×8

    6.0000    4.3333    1.0000   -2.0000   -2.0000   -0.3333    2.0000    4.0000

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como vector, matriz o arreglo multidimensional.

Longitud de la ventana, especificada como escalar numérico o de duración. Cuando k es un escalar entero positivo, la media centrada incluye el elemento en la posición actual, además de los vecinos que lo rodean.

Por ejemplo, movmean(A,3) calcula un arreglo de valores de media locales de tres puntos.

movmean(A,3) computation. The elements in the sample window are 1, 3, and 5, so the resulting local mean is 3.

Longitud de ventana direccional, especificada como vector fila numérico o de duración que contiene dos elementos. Cuando kb y kf son escalares enteros positivos, el cálculo es sobre los elementos kb+kf+1. El cálculo incluye el elemento en la posición actual, los elementos kb anteriores a la posición actual, y los elementos kf posteriores a la posición actual.

Por ejemplo, movmean(A,[2 1]) calcula un arreglo de valores de media locales de cuatro puntos.

movmean(A,[2 1]) computation. The elements in the sample window are 4, 1, 3, and 5, so the resulting local mean is 3.25.

Dimensión en la que operar, especificada como escalar entero positivo. Si no especifica la dimensión, el valor predeterminado es la primera dimensión del arreglo de tamaño mayor que 1.

La dimensión dim es la que indica sobre cuál opera movmean, es decir, la dirección en la que se desliza la ventana especificada.

Considere una matriz de entrada de m por n, A:

  • movmean(A,k,1) calcula la media deslizante de k elementos para cada columna de A y devuelve una matriz de m por n.

    movmean(A,k,1) column-wise operation

  • movmean(A,k,2) calcula la media deslizante de k elementos para cada fila de A y devuelve una matriz de m por n.

    movmean(A,k,2) row-wise operation

Condición de valor faltante, especificada como uno de estos valores:

  • "includemissing" o "includenan": incluyen los valores NaN en A al calcular cada media. Si un elemento de la ventana es NaN, el elemento correspondiente en M es NaN. "includemissing" y "includenan" presentan el mismo comportamiento.

  • "omitmissing" u "omitnan": ignoran los valores NaN en A y calculan cada media en menos puntos. Si todos los elementos de la ventana son NaN, el elemento correspondiente en M es NaN. "omitmissing" y "omitnan" presentan el mismo comportamiento.

Argumentos de par nombre-valor

Especifique pares opcionales de argumentos como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de otros argumentos, pero el orden de los pares no importa.

En las versiones anteriores a R2021a, utilice comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: M = movmean(A,k,"Endpoints","fill")

Método para tratar las ventanas cercanas a los puntos finales, especificado como una de estas opciones:

ValorDescripción
"shrink"Reduce el tamaño de la ventana cerca de los puntos finales de la entrada para incluir únicamente elementos existentes.
"discard"No mostrar valores de media de salida cuando la ventana no se solape por completo con elementos existentes.
"fill"Reemplace los elementos no existentes con NaN.
escalar númerico lógicoReemplace los elementos no existentes con el valor numérico o lógico especificado.

Puntos de muestra para calcular medias, especificados como vector. Los puntos de muestra representan las ubicaciones de los datos en A. Los puntos de muestra no tienen que ser muestreados de manera uniforme. De forma predeterminada, el vector de puntos de muestra es [1 2 3 ... ].

Las ventanas móviles se definen de forma relativa a los puntos de muestra, que se deben ordenar y contienen elementos únicos. Por ejemplo, si t es un vector de tiempos correspondiente a los datos de entrada, movmean(rand(1,10),3,"SamplePoints",t) tiene una ventana que representa el intervalo de tiempo entre t(i)-1.5 y t(i)+1.5.

Cuando el vector de puntos de muestra tiene el tipo de datos datetime o duration, la longitud de la ventana móvil debe tener el tipo duration.

Si los puntos de muestra no están espaciados de manera uniforme y se especifica Endpoints, su valor debe ser "shrink".

Más acerca de

contraer todo

Media

Para un vector de longitud finita A compuesto por N observaciones escalares, la media se define como

μ=1Ni=1NAi.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2016a

expandir todo