Cody

Problem 300. Remove NaN ?

Solution 2840523

Submitted on 15 Aug 2020 by Yin-Lung Wong
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 = magic(3);x(2,[1 3])= NaN; y_correct = [8 1 6;4 9 2]; assert(isequal(removeNaN(x),y_correct))

a = 3×3 logical array 0 0 0 1 0 1 0 0 0 b = 2 2 c = 1 3 d = 2 x = 8 1 6 4 9 2 y = 8 1 6 4 9 2

2   Pass
x = [magic(4) ones(4,1)]; x(4,5) = NaN;x(3,2) = Inf;x(3,1)=NaN; y_correct = x(1:2,:); assert(isequal(removeNaN(x),y_correct))

a = 4×5 logical array 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 b = 3 4 c = 1 5 d = 3 4 x = 16 2 3 13 1 5 11 10 8 1 y = 16 2 3 13 1 5 11 10 8 1

3   Pass
x = ones(4);x(3,3)=NaN; y_correct = ones(3,4); assert(isequal(removeNaN(x),y_correct))

a = 4×4 logical array 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 b = 3 c = 3 d = 3 x = 1 1 1 1 1 1 1 1 1 1 1 1 y = 1 1 1 1 1 1 1 1 1 1 1 1

4   Pass
x = [1; NaN]; y_correct = [1]; assert(isequal(removeNaN(x),y_correct))

a = 2×1 logical array 0 1 b = 2 c = 1 d = 2 x = 1 y = 1

5   Pass
x = NaN; assert(isempty(removeNaN(x)))

a = logical 1 b = 1 c = 1 d = 1 x = 0×1 empty double column vector y = 0×1 empty double column vector

6   Pass
x = [1:10 NaN]; assert(isempty(removeNaN(x)))

a = 1×11 logical array 0 0 0 0 0 0 0 0 0 0 1 b = 1 c = 11 d = 1 x = 0×11 empty double matrix y = 0×11 empty double matrix

7   Pass
x = [1:10 NaN]'; y_correct = [1:10]'; assert(isequal(removeNaN(x),y_correct))

a = 11×1 logical array 0 0 0 0 0 0 0 0 0 0 1 b = 11 c = 1 d = 11 x = 1 2 3 4 5 6 7 8 9 10 y = 1 2 3 4 5 6 7 8 9 10

Community Treasure Hunt

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

Start Hunting!