How I do a Linear extrapolation?

153 views (last 30 days)
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
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.
Paulo Oliveira
Paulo Oliveira on 15 May 2014
I understand your questions, but as I said, I have 160 values, but 40 are NAN, so I have a 140 values to support,for you what the best way to do the data extrapolation?

Sign in to comment.

Accepted Answer

Star Strider
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
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
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.

Sign in to comment.

More Answers (0)

Categories

Find more on Preprocessing Data 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!