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

 Réponse acceptée

KSSV
KSSV le 16 Juin 2021

0 votes

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

2 commentaires

sky walker
sky walker le 16 Juin 2021
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

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 16 Juin 2021

1 vote

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 commentaire

sky walker
sky walker le 16 Juin 2021
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')

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by