Find value in interpolated data

Assume I have a vector of data y(nx1) which correspond to a time vector t(nx1).
What I need is some way to find a certain value of y for an arbitrary point of time. Lets say t covers a timespan of 0 to 10 seconds. I want to get the corresponding value of y for t=2.334.
Now if there is a t=2.334 exactly in the time vector I could find the corresponding entry in y. But if one entry reads t=2.1 and the next t=2.5 I don't have a corresponding value.
I would like to interpolate y so that I can find a value for any given time.
However I am fairly new to Matlab. Could someone tell me how to do this the best way?

 Respuesta aceptada

Chad Greene
Chad Greene el 17 de Nov. de 2015
Use interp1. It's exactly what you need
yi = interp1(t,y,2.2334);

3 comentarios

Jan Wingens
Jan Wingens el 18 de Nov. de 2015
Thank you very much
Shubham Wakchaure
Shubham Wakchaure el 11 de Mayo de 2021
@Chad Greene How to do it for the 3d case ?
Can
Can el 25 de Nov. de 2021
@Shubham Wakchaure With interp3 of course.

Iniciar sesión para comentar.

Más respuestas (1)

Kirby Fears
Kirby Fears el 17 de Nov. de 2015
Check out the interp1 function as well as the spline function.
For your example, you can find the value for t=2.334 given t and y using linear interpolation with interp1:
myval = interp1(t,y,2.334);
Hope this helps.

Categorías

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

Productos

Preguntada:

el 17 de Nov. de 2015

Comentada:

Can
el 25 de Nov. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by