extrapolation of the last observation of a vector

1 次查看(过去 30 天)
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 个评论
Oleg Komarov
Oleg Komarov 2012-8-5
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)

请先登录,再进行评论。

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2012-8-5
% -----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')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Physics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by