Clear Filters
Clear Filters

extrapolation of the last observation of a vector

1 view (last 30 days)
Dear all,
I have
A={
0.2560
0.2680
0.0504
14.0985
0.1128
2.5852
0.3220
14.0985
2.5852
0.2938
0.2560
0.2680
0.0504
14.0985
0.1128
2.5852
0.3220
14.0985
2.5852
0.2938
0.2560
0.2680
0.0504
14.0985
0.1128
2.5852
0.3220
14.0985
2.5852
NaN};
I want to replace the last value via extrapolation.
I tried
inpaint_nans(cell2mat(A),2) but I got:
Subscript indices must either be real positive integers or
logicals.
Error in inpaint_nans (line 239)
fda(nm,[nm,nm-1,nm-n])=[-2 1 1];
Is there any other way to replace NaN via extrapolation
thanks
  1 Comment
Oleg Komarov
Oleg Komarov on 5 Aug 2012
A suggestion, try to work with double arrays, i.e. A = [...].
inpaint_nans()
throws an error and it seems to be a bug. I just verified that it works with the transposed A:
inpaint_nans(cell2mat(A)',2)

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 5 Aug 2012
% -----in this exemple i used a linear extrapolation ------
n=length(A);y=cell2mat(A');
x=1:n-1;xi=1:n;
yi=interp1(x,y(1:n-1),xi,'linear','extrap')

More Answers (0)

Categories

Find more on Physics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!