How I do a Linear extrapolation?
125 views (last 30 days)
Show older comments
Paulo Oliveira
on 15 May 2014
Commented: Star Strider
on 29 Apr 2023
Hi, I have a matrix with 160 numbers, but the first values is nan. How I complete this matrix? Anyone help me? I try the -- interp1 --- but I have only a matrix, I do not have a vector to realize the extrapolation.
Thank you for your attention. Best wishes, Paulo Oliveira
2 Comments
José-Luis
on 15 May 2014
Extrapolation is tricky business. Depending on the sort of data different extrapolation methods might be warranted. The closest value? A linear interpolation from the first two points. A cuadratic function using the last three points? A spline of n degree?
Extrapolation caused the crash of the Challenger.
Accepted Answer
Star Strider
on 15 May 2014
This works:
% Original vector:
x = 1:10
% Replace the first 4 elements with ‘NaN’:
x(1:4) = NaN
% Create empty elements for the ‘NaN’ elements:
x(isnan(x)) = []
% Extrapolate to fill the empty elements:
xm = interp1(x, -3:0, 'linear', 'extrap')
produces:
xm =
1. 2 3 4
4 Comments
Anwaar Alghamdi
on 24 Nov 2022
Edited: Anwaar Alghamdi
on 24 Nov 2022
@Star Strider Does this work if I have missing hourly temperature values? (not NaN but 999)
One or two missing values is fine but if a have a whole day missing? Can this preserve the behavior of hourly temprature profile within the day?
Star Strider
on 29 Apr 2023
@Anwaar Alghamdi — I just now saw this.
It depends on what the data are and where the values are that are NaN. The fillmissing function would likely be most appropriate.
More Answers (0)
See Also
Categories
Find more on Interpolation of 2-D Selections in 3-D Grids 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!