Cody

Problem 970. Piecewise linear interpolation

Solution 3426578

Submitted on 27 Oct 2020
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 = [] out = 1.0000 1.5000 2.0000 2.5000 3.0000 3.0000 2.0000 1.0000 out = 1.0000 1.0000 1.5000 0.7500 2.0000 0.5000 2.5000 0.2500 3.0000 0 3.0000 0 2.0000 0.5000 1.0000 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   Fail
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 = [] out = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.0000 2.5000 3.0000 3.5000 4.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.0000 3.0000 2.5000 2.7500 3.0000 2.5000 3.5000 2.2500 4.0000 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

Matrix dimensions must agree. Error in Test2 (line 4) assert(all(all(abs(tracers(x,y)-y_correct)<1e-9)))

3   Fail
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 = []

Index in position 1 exceeds array bounds (must not exceed 2). Error in tracers (line 10) out(:,k) = [linspace(x(1,k),x(2,k),y(1)) linspace(x(2,k),x(3,k),y(2))] Error in Test3 (line 5) assert(all(all(abs(tracers(x,y)-y_correct)<1e-9)))

Suggested Problems

More from this Author80

Community Treasure Hunt

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

Start Hunting!