Simple Linear Interpolation using Interp1

109 views (last 30 days)
Hi all. I'm fairly new to Matlab and I'm just trying to interpolate.
I have a [1 12] time vector that represent 12 hours. I also have a temperature vector that only has 10 values because 2 of them are missing. I understand that the sizes must be equal to use interp1. This is what I have so far:
time = [1 2 3 4 5 6 7 8 9 10 11 12];
temp = [10 12 15 13 [] 16 16 18 [] 15 21 20];
points = [1 2 3 4 5 6 7 8 9 10 11 12];
y = interp1(time,temp,points,'linear')
The empty matrices are where I don't have available times. I'm trying to use all of this data to linearly interpolate temperatures for all entries in my points array.
Thanks so much :)

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 14 Aug 2014
Edited: Andrei Bobrov on 14 Aug 2014
time = [1 2 3 4 6 7 8 10 11 12];
temp = [10 12 15 13 16 16 18 15 21 20];
points = [1 2 3 4 5 6 7 8 9 10 11 12];
y = interp1(time,temp,points,'linear');
  4 Comments
Leon
Leon on 4 Jan 2022
That's a very neat solution. I wonder if you know how to display the slope and intercept values?
Gem
Gem on 19 Nov 2022
May I have a question, is it possible to interpolate the data (NaN) if the x and y does have the same length in 3D plot.
Thank you !

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!