Interpolation 9 data. help!

1 visualización (últimos 30 días)
Jeong_evolution
Jeong_evolution el 14 de Nov. de 2016
Respondida: Gavriel Aminov el 5 de Abr. de 2017
Data is figure.
I want to interpolation "NaN" data.
Please help me.
  1 comentario
Jan
Jan el 14 de Nov. de 2016
Columnwise, rowwise, in 2D, linear, cubic or how else?

Iniciar sesión para comentar.

Respuesta aceptada

Gavriel Aminov
Gavriel Aminov el 23 de Mzo. de 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)))'

Más respuestas (1)

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

Categorías

Más información sobre Interpolation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by