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

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!