Cody

Problem 73. Replace NaNs with the number that appears to its left in the row.

Solution 2325058

Submitted on 21 May 2020 by Drake Madison
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 = [NaN 1 2 NaN 17 3 -4 NaN]; y_correct = [0 1 2 2 17 3 -4 -4]; assert(isequal(replace_nans(x),y_correct))

y = NaN 1 2 NaN 17 3 -4 NaN nan_logical = 1×8 logical array 0 0 0 1 0 0 0 1 f = 4 8 y = 0 1 2 2 17 3 -4 -4 nan_logical = 1×8 logical array 0 0 0 0 0 0 0 0

2   Pass
x = [NaN 1 2 NaN NaN 17 3 -4 NaN]; y_correct = [ 0 1 2 2 2 17 3 -4 -4]; assert(isequal(replace_nans(x),y_correct))

y = NaN 1 2 NaN NaN 17 3 -4 NaN nan_logical = 1×9 logical array 0 0 0 1 1 0 0 0 1 f = 4 5 9 y = 0 1 2 2 NaN 17 3 -4 -4 nan_logical = 1×9 logical array 0 0 0 0 1 0 0 0 0 f = 5 y = 0 1 2 2 2 17 3 -4 -4 nan_logical = 1×9 logical array 0 0 0 0 0 0 0 0 0

3   Pass
x = [NaN NaN NaN NaN]; y_correct = [ 0 0 0 0]; assert(isequal(replace_nans(x),y_correct))

y = NaN NaN NaN NaN nan_logical = 1×4 logical array 0 1 1 1 f = 2 3 4 y = 0 0 NaN NaN nan_logical = 1×4 logical array 0 0 1 1 f = 3 4 y = 0 0 0 NaN nan_logical = 1×4 logical array 0 0 0 1 f = 4 y = 0 0 0 0 nan_logical = 1×4 logical array 0 0 0 0

4   Pass
x = [1:10 NaN]; y_correct = [ 1:10 10]; assert(isequal(replace_nans(x),y_correct))

y = 1 2 3 4 5 6 7 8 9 10 NaN nan_logical = 1×11 logical array 0 0 0 0 0 0 0 0 0 0 1 f = 11 y = 1 2 3 4 5 6 7 8 9 10 10 nan_logical = 1×11 logical array 0 0 0 0 0 0 0 0 0 0 0

Suggested Problems

More from this Author95

Community Treasure Hunt

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

Start Hunting!