Cody

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

Solution 361118

Submitted on 28 Nov 2013 by Norbert Marwan
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');

d = Columns 1 through 16 0 0 3 3 3 6 6 6 9 9 9 12 12 12 15 15 Columns 17 through 20 15 18 18 18 dd = 1 3 6 9 12 15 18 y = [] y = Columns 1 through 16 1 2 NaN 0 1 2 NaN 0 1 2 NaN 0 1 2 NaN 0 Columns 17 through 26 1 2 NaN 0 1 2 NaN 0 1 2

2   Pass
%% 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))

d = 0 0 0 100 100 200 100 300 200 200 200 0 dd = 1 4 6 7 8 9 12 y = [] y = Columns 1 through 16 1 50 95 NaN 5 95 NaN 5 NaN 90 NaN 10 NaN 90 50 1 Columns 17 through 18 NaN 10

3   Pass
%% 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)))

d = Columns 1 through 10 0 0 0.5000 0.5000 1.0000 0.5000 0 0 1.5000 1.5000 Columns 11 through 14 1.5000 1.5000 1.0000 0 dd = 1 3 5 6 7 9 13 14 y = [] y = Columns 1 through 10 0.2500 0.4500 NaN 0.3000 0.4000 NaN 0.2500 NaN 0.1000 NaN Columns 11 through 20 0.1000 0.2000 NaN 0.2000 0.1000 0 0.3000 NaN 0.4000 NaN Column 21 0.1000

### Community Treasure Hunt

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

Start Hunting!