Interpolation 9 data. help!

1 vue (au cours des 30 derniers jours)
Jeong_evolution
Jeong_evolution le 14 Nov 2016
Data is figure.
I want to interpolation "NaN" data.
Please help me.
  1 commentaire
Jan
Jan le 14 Nov 2016
Columnwise, rowwise, in 2D, linear, cubic or how else?

Connectez-vous pour commenter.

Réponse acceptée

Gavriel Aminov
Gavriel Aminov le 23 Mar 2017
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)))'

Plus de réponses (1)

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

Catégories

En savoir plus sur Interpolation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by