exponenta event banner

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