Extrapolating data outside given data
40 views (last 30 days)
Show older comments
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 Comments
Walter Roberson
on 10 Nov 2019
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) ?
Answers (1)
Walter Roberson
on 10 Nov 2019
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);
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!