How to value value NaN in a 2d matrix?

3 vues (au cours des 30 derniers jours)
Dimitrios
Dimitrios le 2 Oct 2014
I have a 2d matrix with some NaN. how to value them? I give some figure to be more understandable:
It can be seen that there 2-3 values equal to NaN. I was wondering how to interpolate them with the rest values.Thanks in advance.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 2 Oct 2014
please use scatteredInterpolant, example:
a = randi([6 10],30,20);
a(randperm(numel(a),20)) = nan; % a - your 2d array with nan's
[r,c] = ndgrid(1:size(a,1),1:size(a,2));
l0 = ~isnan(a);
F = scatteredInterpolant(r(l0),c(l0),a(l0))
surf(a)
a2 = F(r,c);
figure,surf(a2)

Plus de réponses (1)

dpb
dpb le 2 Oct 2014

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