Cody

Problem 71. Read a column of numbers and interpolate missing data

Solution 2094413

Submitted on 16 Jan 2020 by KO
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
s = { ... 'Day Temp' ' 1 1.3' ' 2 1.12' ' 3 17' ' 4 -32' ' 5 13' ' 6 4.4' ' 7 19'}; t_correct = [1.3 1.12 17 -32 13 4.4 19]; assert(isequal(read_and_interp(s),t_correct));

s_length = 8 a = ' 1 1.3' aa = 1.0000 1.3000 s_num = 1.0000 1.3000 a = ' 2 1.12' aa = 2.0000 1.1200 s_num = 1.0000 1.3000 2.0000 1.1200 a = ' 3 17' aa = 3 17 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 a = ' 4 -32' aa = 4 -32 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 4.0000 -32.0000 a = ' 5 13' aa = 5 13 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 4.0000 -32.0000 5.0000 13.0000 a = ' 6 4.4' aa = 6.0000 4.4000 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 4.0000 -32.0000 5.0000 13.0000 6.0000 4.4000 a = ' 7 19' aa = 7 19 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 4.0000 -32.0000 5.0000 13.0000 6.0000 4.4000 7.0000 19.0000 place = 1×0 empty double row vector s_num_2_row = 1.3000 1.1200 17.0000 -32.0000 13.0000 4.4000 19.0000

2   Pass
s = { ... 'Day Temp' ' 1 1.3' ' 2 1.12' ' 3 17' ' 4 16' ' 5 9999' ' 6 9999' ' 7 19'}; t_correct = [1.3 1.12 17 16 17 18 19]; assert(isequal(read_and_interp(s),t_correct));

s_length = 8 a = ' 1 1.3' aa = 1.0000 1.3000 s_num = 1.0000 1.3000 a = ' 2 1.12' aa = 2.0000 1.1200 s_num = 1.0000 1.3000 2.0000 1.1200 a = ' 3 17' aa = 3 17 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 a = ' 4 16' aa = 4 16 s_num = 1.0000 1.3000 2.0000 1.1200 3.0000 17.0000 4.0000 16.0000 a = ' 5 9999' aa = 5 9999 s_num = 1.0e+03 * 0.0010 0.0013 0.0020 0.0011 0.0030 0.0170 0.0040 0.0160 0.0050 9.9990 a = ' 6 9999' aa = 6 9999 s_num = 1.0e+03 * 0.0010 0.0013 0.0020 0.0011 0.0030 0.0170 0.0040 0.0160 0.0050 9.9990 0.0060 9.9990 a = ' 7 19' aa = 7 19 s_num = 1.0e+03 * 0.0010 0.0013 0.0020 0.0011 0.0030 0.0170 0.0040 0.0160 0.0050 9.9990 0.0060 9.9990 0.0070 0.0190 place = 5 6 s_num_2_row = 1.3000 1.1200 17.0000 16.0000 NaN NaN 19.0000

3   Pass
s = { ... 'Day Temp' ' 1 -5' ' 2 19' ' 3 1' ' 4 9999' ' 5 3'}; t_correct = [-5 19 1 2 3]; assert(isequal(read_and_interp(s),t_correct));

s_length = 6 a = ' 1 -5' aa = 1 -5 s_num = 1 -5 a = ' 2 19' aa = 2 19 s_num = 1 -5 2 19 a = ' 3 1' aa = 3 1 s_num = 1 -5 2 19 3 1 a = ' 4 9999' aa = 4 9999 s_num = 1 -5 2 19 3 1 4 9999 a = ' 5 3' aa = 5 3 s_num = 1 -5 2 19 3 1 4 9999 5 3 place = 4 s_num_2_row = -5 19 1 NaN 3