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

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 14 de Ag. de 2014
Editada: Andrei Bobrov el 14 de Ag. de 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 comentarios

Michael
Michael el 14 de Ag. de 2014
Wow. Thank you.
Ammar Anayi
Ammar Anayi el 14 de Oct. de 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 el 4 de En. de 2022
That's a very neat solution. I wonder if you know how to display the slope and intercept values?
Gem
Gem el 19 de Nov. de 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 el 23 de Abr. de 2024
Thank you from 10 years later!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Interpolation en Centro de ayuda y File Exchange.

Preguntada:

el 14 de Ag. de 2014

Comentada:

el 23 de Abr. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by