sum_nan.m
来自「Kriging插值matlab toolbox」· M 代码 · 共 40 行
M
40 行
function psum=sum_nan(A,k)
%% function psum=sum_nan(A,k)
%% computes the summation which ignores all nan's
%% if A is an 1D array, k is not necessary, if A is a matrix
%% k is optional. Without k or k = 1, A is summed over column,
%% and k = 2, summation is over rows
%%
% Author: Jim Ledwell, 10/97 Woods Hole Oceanographic Institution
D=size(A);
if D(1) == 1 | D(2) == 1 % 1-D array
[indx]=find(~isnan(A));
psum=sum(A(indx));
else
if nargin == 1
k=1; % default direction: sum over each colume
end
if k == 1
for i=1:D(2)
[indx]=find(~isnan(A(:,i)));
if length(indx) > 0
psum(i)=sum(A(indx,i));
else
psum(i)=nan;
end
end
else
for i=1:D(1)
[indx]=find(~isnan(A(i,:)));
if length(indx) > 0
psum(i)=sum(A(i,indx));
else
psum(i)=nan;
end
end
psum=psum(:);
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?