MATLAB: How to fill values between two values.

filling values

A = [1 0 0 0 2 0 3 0 0 0 0 4 0 5 ….]
B = [1 1.25 1.5 1.75 2 2.5 3 3.2 3.4 3.6 3.8 4 4.5 5 ….]
Is there a function for this?

Best Answer

You could use interp1:
>> A = [1,0,0,0,2,0,3,0,0,0,0,4,0,5];
>> X = find(A);
>> B = interp1(X,A(X),1:numel(A))
B =
1.0000 1.2500 1.5000 1.7500 2.0000 2.5000 3.0000 3.2000 3.4000 3.6000 3.8000 4.0000 4.5000 5.0000