Cody

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

Solution 2616262

Submitted on 26 Jun 2020 by 春樹 内糸
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));

nums = [] str = ' 1 1.3' data = 1×3 cell array {0×0 char} {'1'} {'1.3'} nums = 1.3000 str = ' 2 1.12' data = 1×3 cell array {0×0 char} {'2'} {'1.12'} nums = 1.3000 1.1200 str = ' 3 17' data = 1×3 cell array {0×0 char} {'3'} {'17'} nums = 1.3000 1.1200 17.0000 str = ' 4 -32' data = 1×3 cell array {0×0 char} {'4'} {'-32'} nums = 1.3000 1.1200 17.0000 -32.0000 str = ' 5 13' data = 1×3 cell array {0×0 char} {'5'} {'13'} nums = 1.3000 1.1200 17.0000 -32.0000 13.0000 str = ' 6 4.4' data = 1×3 cell array {0×0 char} {'6'} {'4.4'} nums = 1.3000 1.1200 17.0000 -32.0000 13.0000 4.4000 str = ' 7 19' data = 1×3 cell array {0×0 char} {'7'} {'19'} nums = 1.3000 1.1200 17.0000 -32.0000 13.0000 4.4000 19.0000 cnt99 = 0 last = 0

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));

nums = [] str = ' 1 1.3' data = 1×3 cell array {0×0 char} {'1'} {'1.3'} nums = 1.3000 str = ' 2 1.12' data = 1×3 cell array {0×0 char} {'2'} {'1.12'} nums = 1.3000 1.1200 str = ' 3 17' data = 1×3 cell array {0×0 char} {'3'} {'17'} nums = 1.3000 1.1200 17.0000 str = ' 4 16' data = 1×3 cell array {0×0 char} {'4'} {'16'} nums = 1.3000 1.1200 17.0000 16.0000 str = ' 5 9999' data = 1×3 cell array {0×0 char} {'5'} {'9999'} nums = 1.0e+03 * 0.0013 0.0011 0.0170 0.0160 9.9990 str = ' 6 9999' data = 1×3 cell array {0×0 char} {'6'} {'9999'} nums = 1.0e+03 * 0.0013 0.0011 0.0170 0.0160 9.9990 9.9990 str = ' 7 19' data = 1×3 cell array {0×0 char} {'7'} {'19'} nums = 1.0e+03 * 0.0013 0.0011 0.0170 0.0160 9.9990 9.9990 0.0190 cnt99 = 0 last = 0 cnt99 = 1 last = 16 cnt99 = 2 d = 1 nums = 1.0e+03 * 0.0013 0.0011 0.0170 0.0160 9.9990 0.0180 0.0190 nums = 1.3000 1.1200 17.0000 16.0000 17.0000 18.0000 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));

nums = [] str = ' 1 -5' data = 1×3 cell array {0×0 char} {'1'} {'-5'} nums = -5 str = ' 2 19' data = 1×3 cell array {0×0 char} {'2'} {'19'} nums = -5 19 str = ' 3 1' data = 1×3 cell array {0×0 char} {'3'} {'1'} nums = -5 19 1 str = ' 4 9999' data = 1×3 cell array {0×0 char} {'4'} {'9999'} nums = -5 19 1 9999 str = ' 5 3' data = 1×3 cell array {0×0 char} {'5'} {'3'} nums = -5 19 1 9999 3 cnt99 = 0 last = 0 cnt99 = 1 last = 1 d = 1 nums = -5 19 1 2 3

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!