MATLAB: Problem using nanmean

nanmeanundefined command/function

Hi..
I want to find mean for array ingonring NaN. So i looked up in Matlab website and they suggest to use nanmean. I try the example but it returns '??? Undefined command/function 'nanmean''.
For Example:
X = magic(3);
X([1 6:9]) = repmat(NaN,1,5)
X =
NaN 1 NaN
3 5 NaN
4 NaN NaN
y = nanmean(X)
The result should be as following:
y = 3.5000 3.0000 NaN
But in my Matlab software, it returns ??? Undefined command/function 'nanmean'.
Is it because my Matlab version is 7.0.1?
Im new to Matlab. Thanks in advance for your help.

Best Answer

X = magic(3);
X([1 6:9]) = NaN; % faster than: repmat(NaN,1,5)
index = isnan(X);
Y = X;
Y(index) = 0;
n = sum(~index, 1);
n(n == 0) = NaN;
M = sum(Y, 1) ./ n;
See also: FEX: NaN suite.