Extrapolating data outside given data

조회 수: 41 (최근 30일)
Taha Rizvi
Taha Rizvi 2019년 11월 10일
댓글: Taha Rizvi 2019년 11월 10일
Hi,
I need to extrapolate 15 points of data with 3 given corresponding x and y values. is there any way to do it?
%x = 1:15, y = 9.85 9.82 9.84 (extrapolate to 15)
any help would be greatly appreciated !!
  댓글 수: 2
Walter Roberson
Walter Roberson 2019년 11월 10일
Could you confirm that you have an x vector of length 3, and a y vector of length 3?
Is the task to extrapolate y where x would be 15? Or is the task to interpolate at 15 different locations, such as linspace(min(x), max(x), 15) ?
Taha Rizvi
Taha Rizvi 2019년 11월 10일
Hi Walter,
sorry for that, the current x vector is x = [1 2 3] to correspond with that y vector.
and yes i need to extrapolate data all the way up to 15, so in total i would have 15 y values for 15 x values. like you said linspace(min(x), max(x), 15)

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

답변 (1개)

Walter Roberson
Walter Roberson 2019년 11월 10일
xq = linspace(min(x), max(x), 15);
yq = interp1(x, y, xq);
This does not extrapolate to x = 15, this interpolates at 1, 8/7, 9/7, 10/7, 11/7 and so on.
If you were trying to extrapolate out to x = 15, then
xq = 1 : 15;
yq = interp1(x, y, xq, 'linear', 'extrap')
or 'spline', 'extrap'
Or you could,
xq = 1 : 15;
[P, S, MU] = polyfit(x, y, 2);
yq = polyval(P, xq, S, MU);
  댓글 수: 1
Taha Rizvi
Taha Rizvi 2019년 11월 10일
Im a beginner in Matlab, could you explain how that code is able to extrapolate from those values please?

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

카테고리

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