Cody

# Problem 970. Piecewise linear interpolation

Solution 2800942

Submitted on 6 Aug 2020 by Cassidy Fialkiewicz
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 1 ; 3 0 ; 1 1]; y=[5 3]; y_correct=[1 1 ; 1.5 0.75 ; 2 0.5 ; 2.5 0.25 ; 3 0 ; 2 0.5 ; 1 1]; assert(all(all(abs(tracers(x,y)-y_correct)<1e-9)))

out = [] flag = logical 1 num_points = 5 first = 1.0000 1.5000 2.0000 2.5000 3.0000 second = 1.0000 0.7500 0.5000 0.2500 0 out = 1.0000 1.0000 1.5000 0.7500 2.0000 0.5000 2.5000 0.2500 3.0000 0 flag = logical 0 num_points = 3 first = 3 2 1 second = 0 0.5000 1.0000 out = 1.0000 1.0000 1.5000 0.7500 2.0000 0.5000 2.5000 0.2500 3.0000 0 2.0000 0.5000 1.0000 1.0000

2   Pass
x=[1 1 ; 2 3 ; 4 2 ; 5 -2]; y=[6 5 3]; y_correct=[1 1 ; 1.2 1.4 ; 1.4 1.8 ; 1.6 2.2 ; 1.8 2.6 ; 2 3 ; 2.5 2.75 ; 3 2.5 ; 3.5 2.25 ; 4 2 ; 4.5 0 ; 5 -2]; assert(all(all(abs(tracers(x,y)-y_correct)<1e-9)))

out = [] flag = logical 1 num_points = 6 first = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 second = 1.0000 1.4000 1.8000 2.2000 2.6000 3.0000 out = 1.0000 1.0000 1.2000 1.4000 1.4000 1.8000 1.6000 2.2000 1.8000 2.6000 2.0000 3.0000 flag = logical 0 num_points = 5 first = 2.0000 2.5000 3.0000 3.5000 4.0000 second = 3.0000 2.7500 2.5000 2.2500 2.0000 out = 1.0000 1.0000 1.2000 1.4000 1.4000 1.8000 1.6000 2.2000 1.8000 2.6000 2.0000 3.0000 2.5000 2.7500 3.0000 2.5000 3.5000 2.2500 4.0000 2.0000 num_points = 3 first = 4.0000 4.5000 5.0000 second = 2 0 -2 out = 1.0000 1.0000 1.2000 1.4000 1.4000 1.8000 1.6000 2.2000 1.8000 2.6000 2.0000 3.0000 2.5000 2.7500 3.0000 2.5000 3.5000 2.2500 4.0000 2.0000 4.5000 0 5.0000 -2.0000

3   Pass
a=ceil(100*rand)+10; x=[0 0 ; a a]; y=a+1; y_correct=[0:a ; 0:a]'; assert(all(all(abs(tracers(x,y)-y_correct)<1e-9)))

out = [] flag = logical 1 num_points = 93 first = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 second = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 out = 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 flag = logical 0