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

 Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 14 Août 2014
Modifié(e) : Andrei Bobrov le 14 Août 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');

5 commentaires

Michael
Michael le 14 Août 2014
Wow. Thank you.
Ammar Anayi
Ammar Anayi le 14 Oct 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 le 4 Jan 2022
That's a very neat solution. I wonder if you know how to display the slope and intercept values?
Gem
Gem le 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 le 23 Avr 2024
Thank you from 10 years later!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by