Cody

Problem 43708. Replace all odd numbers with NaN

Solution 1076485

Submitted on 7 Dec 2016 by Kensuke Fujita
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))

i = 1 2 4 6 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))

i = 2 3 6 7 9 12 13 16 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))

i = 1 3 5 7 9 11 13 15 17 19 x = Columns 1 through 16 NaN 2 NaN 4 NaN 6 NaN 8 NaN 10 NaN 12 NaN 14 NaN 16 Columns 17 through 20 NaN 18 NaN 20 y = Columns 1 through 16 NaN 2 NaN 4 NaN 6 NaN 8 NaN 10 NaN 12 NaN 14 NaN 16 Columns 17 through 20 NaN 18 NaN 20

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

i = 1 2 3 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))

i = 1 5 9 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!