Simple Linear Interpolation using Interp1

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 :)

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 14 Aug. 2014
Bearbeitet: Andrei Bobrov am 14 Aug. 2014

2 Stimmen

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');

5 Kommentare

Michael
Michael am 14 Aug. 2014
Wow. Thank you.
Ammar Anayi
Ammar Anayi am 14 Okt. 2021
Hello Sir, if I had the temperatures but not the time. What should i do, how would the code look like.
Thanks!
Leon
Leon am 4 Jan. 2022
That's a very neat solution. I wonder if you know how to display the slope and intercept values?
Gem
Gem am 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 !
Peter
Peter am 23 Apr. 2024
Thank you from 10 years later!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interpolation finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 14 Aug. 2014

Kommentiert:

am 23 Apr. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by