Суммируйте, игнорируя значения 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'.