Cody

Problem 43708. Replace all odd numbers with NaN

Solution 2055478

Submitted on 12 Dec 2019 by Asif Newaz
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 3 4 5 8 11]; y_correct = [NaN NaN 4 NaN 8 NaN]; assert(isequaln(replace_odd_with_NaN(x),y_correct))

y1 = 1×6 logical array 0 0 1 0 1 0 x = NaN NaN 4 NaN 8 NaN y = NaN NaN 4 NaN 8 NaN

2   Pass
x = magic(4); y_correct = [16 2 NaN NaN; NaN NaN 10 8; NaN NaN 6 12; 4 14 NaN NaN]; assert(isequaln(replace_odd_with_NaN(x),y_correct))

y1 = 4×4 logical array 1 1 0 0 0 0 1 1 0 0 1 1 1 1 0 0 x = 16 2 NaN NaN NaN NaN 10 8 NaN NaN 6 12 4 14 NaN NaN y = 16 2 NaN NaN NaN NaN 10 8 NaN NaN 6 12 4 14 NaN NaN

3   Pass
x = 1:20; y_correct = [NaN(1,10); 2:2:20]; y_correct = y_correct(:)'; assert(isequaln(replace_odd_with_NaN(x),y_correct))

y1 = 1×20 logical array 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 x = NaN 2 NaN 4 NaN 6 NaN 8 NaN 10 NaN 12 NaN 14 NaN 16 NaN 18 NaN 20 y = NaN 2 NaN 4 NaN 6 NaN 8 NaN 10 NaN 12 NaN 14 NaN 16 NaN 18 NaN 20

4   Pass
x = pascal(2); y_correct = [NaN NaN; NaN 2]; assert(isequaln(replace_odd_with_NaN(x),y_correct))

y1 = 2×2 logical array 0 0 0 1 x = NaN NaN NaN 2 y = NaN NaN NaN 2

5   Pass
x = eye(3); y_correct = [NaN 0 0; 0 NaN 0; 0 0 NaN]; assert(isequaln(replace_odd_with_NaN(x),y_correct))

y1 = 3×3 logical array 0 1 1 1 0 1 1 1 0 x = NaN 0 0 0 NaN 0 0 0 NaN y = NaN 0 0 0 NaN 0 0 0 NaN