Суммируйте, игнорируя значения NaN
y = nansum(X)
y = nansum(X,'all')
y = nansum(X,dim)
y = nansum(X,vecdim)
возвращает y
= nansum(X
)sum
элементов X
, вычисленного после удаления всех значений NaN
.
Если X
является вектором, то nansum(X)
является суммой всех non-NaN
элементов X
.
Если X
является матрицей, то nansum(X)
является вектором - строкой из сумм столбца, вычисленных после удаления значений NaN
.
Если X
является многомерным массивом, то nansum
действует по первому неодноэлементному измерению X
. Размер этой размерности становится 1, в то время как размеры всех других размерностей остаются то же самое. nansum
удаляет все значения NaN
.
Для получения информации о том, как nansum
обрабатывает массивы всех значений NaN
, смотрите Советы.
возвращает сумму по размерностям, заданным в векторном y
= nansum(X
,vecdim
)vecdim
. Функция вычисляет суммы после удаления значений NaN
. Например, если X
является матрицей, то nansum(X,[1 2])
является суммой всех non-NaN
элементов X
, потому что каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.
Когда nansum
вычисляет сумму массива всех значений NaN
, массив пуст, если значения NaN
удалены и, поэтому, суммой остающихся элементов является 0
. Вывод 0
не является суммой значений NaN
.
Вместо того, чтобы использовать nansum
, можно использовать функцию MATLAB® sum
с входным параметром nanflag
, заданный как значение 'omitnan'
.