Find value in interpolated data

조회 수: 16 (최근 30일)
Jan Wingens
Jan Wingens 2015년 11월 17일
댓글: Can 2021년 11월 25일
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?

채택된 답변

Chad Greene
Chad Greene 2015년 11월 17일
Use interp1. It's exactly what you need
yi = interp1(t,y,2.2334);
  댓글 수: 3
Shubham Wakchaure
Shubham Wakchaure 2021년 5월 11일
@Chad Greene How to do it for the 3d case ?
Can
Can 2021년 11월 25일
@Shubham Wakchaure With interp3 of course.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Kirby Fears
Kirby Fears 2015년 11월 17일
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.

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by