nanmean

Среднее значение, игнорируя значения NaN

Синтаксис

y = nanmean(X)
y = nanmean(X,'all')
y = nanmean(X,dim)
y = nanmean(X,vecdim)

Описание

пример

y = nanmean(X) возвращает mean элементов X, вычисленного после удаления всех значений NaN.

  • Если X является вектором, то nanmean(X) является средним значением всех non-NaN элементов X.

  • Если X является матрицей, то nanmean(X) является вектором - строкой из средних значений столбца, вычисленных после удаления значений NaN.

  • Если X является многомерным массивом, то nanmean действует по первому неодноэлементному измерению X. Размер этой размерности становится 1, в то время как размеры всех других размерностей остаются то же самое. nanmean удаляет все значения NaN.

Для получения информации о том, как nanmean обрабатывает массивы всех значений NaN, смотрите Советы.

пример

y = nanmean(X,'all') возвращает среднее значение всех элементов X, вычисленного после удаления значений NaN.

пример

y = nanmean(X,dim) возвращает среднее значение по операционному измерению dim X, вычисленного после удаления значений NaN.

пример

y = nanmean(X,vecdim) возвращает среднее значение по размерностям, заданным в векторном vecdim. Функция вычисляет средние значения после удаления значений NaN. Например, если X является матрицей, то nanmean(X,[1 2]) является средним значением всех non-NaN элементов X, потому что каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.

Примеры

свернуть все

Найдите средние значения столбца для матричных данных с отсутствующими значениями.

X = magic(3);
X([1 6:9]) = NaN
X = 3×3

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

y = nanmean(X)
y = 1×3

    3.5000    3.0000       NaN

Найдите среднее значение всех значений в массиве, игнорируя отсутствующие значения.

Создайте 2 5 3 массивами X с некоторыми отсутствующими значениями.

X = reshape(1:30,[2 5 3]);
X([10:12 25]) = NaN
X = 
X(:,:,1) =

     1     3     5     7     9
     2     4     6     8   NaN


X(:,:,2) =

   NaN    13    15    17    19
   NaN    14    16    18    20


X(:,:,3) =

    21    23   NaN    27    29
    22    24    26    28    30

Найдите среднее значение элементов X.

y = nanmean(X,'all')
y = 15.6538

Найдите средние значения строки для матричных данных с отсутствующими значениями путем определения, чтобы вычислить средние значения вдоль второго измерения.

X = magic(3);
X([1 6:9]) = NaN
X = 3×3

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

y = nanmean(X,2)
y = 3×1

     1
     4
     4

Найдите среднее значение многомерного массива по нескольким размерностям.

Создайте 2 5 3 массивами X с некоторыми отсутствующими значениями.

X = reshape(1:30,[2 5 3]);
X([10:12 25]) = NaN
X = 
X(:,:,1) =

     1     3     5     7     9
     2     4     6     8   NaN


X(:,:,2) =

   NaN    13    15    17    19
   NaN    14    16    18    20


X(:,:,3) =

    21    23   NaN    27    29
    22    24    26    28    30

Найдите среднее значение каждой страницы X путем определения размерностей 1 и 2 как операционные размерности.

ypage = nanmean(X,[1 2])
ypage = 
ypage(:,:,1) =

     5


ypage(:,:,2) =

   16.5000


ypage(:,:,3) =

   25.5556

Например, ypage(1,1,1) является средним значением non-NaN элементов в X(:,:,1).

Найдите среднее значение элементов в каждом срезе X(i,:,:) путем определения размерностей 2 и 3 как операционные размерности.

yrow = nanmean(X,[2 3])
yrow = 2×1

   14.5385
   16.7692

Например, yrow(2) является средним значением non-NaN элементов в X(2,:,:).

Входные параметры

свернуть все

Входные данные, заданные как скаляр, вектор, матрица или многомерный массив.

Если X является пустым массивом, то nanmean(X) является NaN. Для получения дополнительной информации смотрите Советы.

Типы данных: single | double

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

dim указывает на размерность, длина которой уменьшает до 1. size(y,dim) равняется 1, в то время как размеры всех других размерностей остаются то же самое.

Считайте двумерный массив X:

  • Если dim равен 1, то nanmean(X,1) возвращает вектор - строку, содержащий среднее значение для каждого столбца.

  • Если dim равен 2, то nanmean(X,2) возвращает вектор-столбец, содержащий среднее значение для каждой строки.

Если dim больше, чем ndims(X) или если size(X,dim) равняется 1, то nanmean возвращает X.

Типы данных: single | double

Вектор размерностей, заданных как положительный целочисленный вектор. Каждый элемент vecdim представляет размерность входного массива X. Вывод y имеет длину 1 в заданных операционных размерностях. Другие длины размерности являются тем же самым для X и y.

Например, если X является 2 3х3 массивом, то nanmean(X,[1 2]) возвращает 1 1 3 массивами. Каждый элемент вывода является средним значением элементов на соответствующей странице X.

Типы данных: single | double

Выходные аргументы

свернуть все

Средние значения, возвращенные как скаляр, вектор, матрица или многомерный массив.

Советы

  • Когда nanmean вычисляет среднее значение массива всех значений NaN, массив пуст, если значения NaN удалены и, поэтому, суммой остающихся элементов является 0. Поскольку среднее вычисление вовлекает деление 0, средним значением является NaN. Вывод NaN не является средним значением значений NaN.

Альтернативная функциональность

Вместо того, чтобы использовать nanmean, можно использовать функцию MATLAB® mean с входным параметром nanflag, заданный как значение 'omitnan'.

Расширенные возможности

Смотрите также

| |

Представлено до R2006a