mean_nan.m
来自「Kriging插值matlab toolbox」· M 代码 · 共 44 行
M
44 行
function pmean=mean_nan(A,k)
%% function pmean=mean_nan(A,k)
%% computes the mean value 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 averaged over column,
%% and k = 2, average 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));
if ~isempty(indx)
pmean=mean(A(indx));
else
pmean=nan;
end
else
if nargin == 1
k=1; % default direction: average over each colume
end
if k == 1
for i=1:D(2)
[indx]=find(~isnan(A(:,i)));
if ~isempty(indx)
pmean(i)=mean(A(indx,i));
else
pmean(i)=nan;
end
end
else
for i=1:D(1)
[indx]=find(~isnan(A(i,:)));
if ~isempty(indx)
pmean(i)=mean(A(i,indx));
else
pmean(i)=nan;
end
end
pmean=pmean(:);
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?