Azzera filtri
Azzera filtri

extrapolation of the last observation of a vector

1 visualizzazione (ultimi 30 giorni)
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 Commento
Oleg Komarov
Oleg Komarov il 5 Ago 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)

Accedi per commentare.

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 5 Ago 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')

Più risposte (0)

Categorie

Scopri di più su Physics in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by