Get mean of a matrix which has NaN in it
Show older comments
I want to get the mean of each of the columns in a 3x4 array.
grades = [2,4,6; 5, NaN, 1; 7, 2,NaN]
The NaNs will cause the mean in that column to be a NaN so I think I have to first convert the matrix. I tried:
grades1 = cell2mat(grades)
But Matlab throws this error msg:
??? Cell contents reference from a non-cell array object.
Error in ==> cell2mat at 44
cellclass = class(c{1});
The grades matrix is a type double, so perhaps if I could convert it to something else, it would work, but when I tried a char array, it did work, but then I was still left with the NaN issue so converting it to something else appears tough.
*Note: I cannot use scripting for thiss. That means no for loops, if / else. I am just learning Matlab and I cannot use these yet.
Accepted Answer
More Answers (1)
grades = [2,4,6; 5, NaN, 1; 7, 2,NaN]
mean(grades,1,"omitnan")
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!