nansum

(Не рекомендуемый) Сумма, игнорируя NaN значения

nansum не рекомендуется. Используйте MATLAB® функция sum вместо этого. С sum можно задать, включать или опускать функцию NaN значения для вычисления. Для получения дополнительной информации см. раздел Вопросов совместимости.

Описание

пример

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

  • Если X является вектором, тогда nansum(X) - сумма всех не- NaN элементы X.

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

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

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

пример

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

пример

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

пример

y = nansum(X,vecdim) возвращает сумму по размерностям, заданным в векторе vecdim. Функция вычисляет суммы после удаления NaN значения. Для примера, если X является матрицей, тогда nansum(X,[1 2]) - сумма всех не- 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 = nansum(X)
y = 1×3

     7     6     0

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

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

X = reshape(1:24,[2 4 3]);
X([5:6 20]) = NaN
X = 
X(:,:,1) =

     1     3   NaN     7
     2     4   NaN     8


X(:,:,2) =

     9    11    13    15
    10    12    14    16


X(:,:,3) =

    17    19    21    23
    18   NaN    22    24

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

y = nansum(X,'all')
y = 269

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

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

   NaN     1   NaN
     3     5   NaN
     4   NaN   NaN

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

     1
     8
     4

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

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

X = reshape(1:24,[2 4 3]);
X([5:6 20]) = NaN
X = 
X(:,:,1) =

     1     3   NaN     7
     2     4   NaN     8


X(:,:,2) =

     9    11    13    15
    10    12    14    16


X(:,:,3) =

    17    19    21    23
    18   NaN    22    24

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

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

    25


ypage(:,:,2) =

   100


ypage(:,:,3) =

   144

Для примера, ypage(1,1,1) - сумма не- NaN элементы в X(:,:,1).

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

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

   139
   130

Для примера, yrow(2) - сумма не- NaN элементы в X(2,:,:).

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

свернуть все

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

Если X - пустой массив, тогда nansum(X) является 0.

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

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

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

Рассмотрим двумерный массив X:

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

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

Если dim больше ndims(X) или если size(X,dim) равен 1, тогда nansum возвращает X, с 0 значения вместо отсутствующих значений.

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

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

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

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

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

свернуть все

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

Совет

  • Когда nansum вычисляет сумму массива всех NaN значения, массив пуст, когда NaN значения удаляются, и, следовательно, сумма остальных элементов 0. Область выхода 0 не является суммой NaN значения.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2020b

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

.

См. также

|

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте