MATLAB: How to create a vector

Hello everyone, I hope you are doing well. I need some help with my matlab project. I''m finding the velocity and time after each 1 meter displacement. It''s good when I''m doing that and I''m actually getting correct results. However, I couldn''t find the velocity and time after for example 1.5 or 1.6 meter. this is my program, so can you please help me with it.
function [v,t]=freefall(h)
g=9.81;
%Gravity in m^2/s
for k=1:h
v(k)=sqrt(2*g*k);
end
for
k=1:h
t(k)=sqrt(2*k/g);
end
plot(t,v)
xlabel(''Time
(s)'')
ylabel(''Velocity (m/s)'')
title(''Free fall: velocity vs time'')

Best Answer

Use the interp1 function.
If I understand your code correctly, this will work. Add these lines to the end of your code:
k = 1:h; % Displacement
dspl_intrp = [1.5; 1.6]; % Displacements To Interpolate
vt_intrp = interp1(k, [v' t'], [1.5; 1.6], 'linear'); % Interpolate Velocity & Time
fprintf(1, 'Displacement %.2f, Velocity = %.2f, Time = %.2f\n', [dspl_intrp vt_intrp]')
Displacement 1.50, Velocity = 5.35, Time = 0.55
Displacement 1.60, Velocity = 5.53, Time = 0.56
I added the fprintf call to show that the result appears to be correct.