Cody

# Problem 1216. Mean ignoring NaNs

Solution 194018

Submitted on 20 Jan 2013 by Vieniava
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% x=[1 5 9;2 6 10;3 nan 11;nan nan nan]; y_correct=[2 5.5 10]; y=average(x); assert(isequalwithequalnans(y,y_correct)) y=average(x,1); assert(isequalwithequalnans(y,y_correct)) y_correct=[5;6;7;nan]; y=average(x,2); assert(isequalwithequalnans(y,y_correct)) y_correct=x; y=average(x,3); assert(isequalwithequalnans(y,y_correct))

ans = 2.0000 5.5000 10.0000 ans = 1 ans = 2.0000 5.5000 10.0000 ans = 2 ans = 5 6 7 NaN ans = 3 ans = 1 5 9 2 6 10 3 NaN 11 NaN NaN NaN

2   Pass
%% x=cat(3,[1 5 9;NaN 6 10;NaN 7 NaN;4 8 12],... [13 17 21;14 18 22;15 19 NaN;16 20 24]); y_correct=cat(3,[15 39 62]/6,[87 111 134]/6); y=average(x); assert(isequalwithequalnans(y,y_correct)) y=average(x,1); assert(isequalwithequalnans(y,y_correct)) y_correct=cat(3,[5;8;7;8],[17;18;17;20]); y=average(x,2); assert(isequalwithequalnans(y,y_correct)) y_correct=[7 11 15;14 12 16;15 13 NaN;10 14 18]; y=average(x,3); assert(isequalwithequalnans(y,y_correct))

ans(:,:,1) = 2.5000 6.5000 10.3333 ans(:,:,2) = 14.5000 18.5000 22.3333 ans = 1 ans(:,:,1) = 2.5000 6.5000 10.3333 ans(:,:,2) = 14.5000 18.5000 22.3333 ans = 2 ans(:,:,1) = 5 8 7 8 ans(:,:,2) = 17 18 17 20 ans = 3 ans = 7 11 15 14 12 16 15 13 NaN 10 14 18

3   Pass
%% x=zeros(2,1,0); y_correct=mean(x); y=average(x); assert(isequalwithequalnans(y,y_correct)) y=average(x,1); assert(isequalwithequalnans(y,y_correct)) y_correct=mean(x,2); y=average(x,2); assert(isequalwithequalnans(y,y_correct)) y_correct=mean(x,3); y=average(x,3); assert(isequalwithequalnans(y,y_correct))

ans = Empty array: 1-by-1-by-0 ans = 1 ans = Empty array: 1-by-1-by-0 ans = 2 ans = Empty array: 2-by-1-by-0 ans = 3 ans = NaN NaN

### Community Treasure Hunt

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

Start Hunting!