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

Suggested Problems

More from this Author7

Community Treasure Hunt

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

Start Hunting!