Cody

# Problem 970. Piecewise linear interpolation

Solution 2260785

Submitted on 7 May 2020 by Robin French
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)))

v = 2×1 cell array {5×2 double} {3×2 double} v = 2×1 cell array {4×2 double} {2×2 double} 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)))

v = 3×1 cell array {6×2 double} {5×2 double} {3×2 double} v = 3×1 cell array {5×2 double} {4×2 double} {2×2 double} 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)))

v = 1×1 cell array {55×2 double} v = 1×1 cell array {54×2 double} 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

### Community Treasure Hunt

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

Start Hunting!