Interpolation 9 data. help!

1 次查看(过去 30 天)
Data is figure.
I want to interpolation "NaN" data.
Please help me.
  1 个评论
Jan
Jan 2016-11-14
Columnwise, rowwise, in 2D, linear, cubic or how else?

请先登录,再进行评论。

采纳的回答

Gavriel Aminov
Gavriel Aminov 2017-3-23
Please try the next code. The sample matrix M is simulated as random values, not as well-behaving function, therefore the ERROR is big. For smooth 2D function the ERROR should be reasonable. Please examine it.
m=5;
n=10;
M0=round(rand(m,n)*10)
M=M0;
M(M<3)=nan
[J, I]=meshgrid(1:n, 1:m);
all_inds=sub2ind([m,n], I, J);
good_inds=find(~isnan(M(all_inds)));
[I0, J0]=ind2sub([m,n], good_inds);
MM=round(griddata(I0, J0, M(good_inds), I, J, 'linear'))
ERROR=(MM(isnan(M))-M0(isnan(M)))'

更多回答(1 个)

Gavriel Aminov
Gavriel Aminov 2017-4-5
https://www.mathworks.com/mat Interpolates (& extrapolates) NaN elements in a 2d array. (nan, inpainting, replace) labcentral/fileexchange/4551-inpaint-nans

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by