Cody

Problem 2010. Wrap a vector, but insert NaN's at the wrap-positions.

Solution 3053053

Submitted on 4 Oct 2020
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:20; m = 3; y = wrapnan(x,m); y_correct = [1 2 nan 0 1 2 nan 0 1 2 nan 0 1 2 nan 0 1 2 nan 0 1 2 nan 0 1 2]; assert(isequaln(y,y_correct)) filetext = fileread('wrapnan.m'); assert(isempty(strfind(filetext, 'regexp')),'regexp* command is forbidden'); assert(isempty(strfind(filetext, 'eval')),'eval* command is forbidden'); assert(isempty(strfind(filetext, 'inline')),'inline command is forbidden');

x = 1 2 NaN Inf 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 x = 1 2 NaN Inf 1 2 NaN Inf 1 2 0 1 2 0 1 2 0 1 2 0 1 2 x = 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 0 1 2 0 1 2 0 1 2 x = 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 0 1 2 0 1 2 x = 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 0 1 2 x = 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2 NaN Inf 1 2

2   Fail
x = [1 50 95 105 195 205 190 310 290 250 201 10]; m = 100; y = wrapnan(x,m); y_correct = [1 50 95 nan 5 95 nan 5 nan 90 nan 10 nan 90 50 1 nan 10]; assert(isequaln(y,y_correct))

Assertion failed.

3   Fail
x = [0.25 0.45 0.80 0.90 1.25 0.60 0.10 0.20 1.70 1.60 1.50 1.80 1.40 0.10]; m = 0.5; y = wrapnan(x,m); y_correct = [0.25 0.45 NaN 0.30 0.40 NaN 0.25 NaN 0.10 NaN 0.10 0.20 NaN 0.20 0.10 0.00 0.30 NaN 0.40 NaN 0.10]; assert(isequaln(roundn(y,2),roundn(y_correct,2)))

x = 0.2500 0.4500 0.3000 0.4000 0.2500 0.1000 0.1000 0.2000 0.2000 0.1000 NaN Inf 0.3000 0.4000 0.1000

Undefined function 'roundn' for input arguments of type 'double'. Error in Test3 (line 5) assert(isequaln(roundn(y,2),roundn(y_correct,2)))

Suggested Problems

More from this Author31

Community Treasure Hunt

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

Start Hunting!