Hi, im using matlab r2018a
lets say i have array
A = [NaN 1 1; 2 NaN 2; 1 NaN 2; 4 2 2]
how to get mean of all of it?
i need the result is 1.888889
i try using
z = mean(A(:))
but the answer is
z = NaN

 Accepted Answer

A = [0 1 1; 2 3 2; 1 3 2; 4 2 2] ;
iwant = mean(A(:))
iwant = 1.9167

2 Comments

thanks for your answer, i change my question. but already find the solution
im using
iwant = mean(A(:),'omitnan')
You also have the fucntion nanmean.
A = [NaN 1 1; 2 NaN 2; 1 NaN 2; 4 2 2] ;
iwant = nanmean(A(:))
iwant = 1.8889

Sign in to comment.

More Answers (1)

format long g
A = [NaN 1 1; 2 NaN 2; 1 NaN 2; 4 2 2]
A = 4×3
NaN 1 1 2 NaN 2 1 NaN 2 4 2 2
mean(A, 'all', 'omitnan')
ans =
1.88888888888889

1 Comment

Thanks, but i already try that before, but im working in matlab R2018a
so thats not working.
but i already find the solution, im using
mean(A(:),'omitnan')

Sign in to comment.

Tags

Asked:

on 16 Jun 2021

Commented:

on 16 Jun 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!