How to value value NaN in a 2d matrix?

1 Ansicht (letzte 30 Tage)
Dimitrios
Dimitrios am 2 Okt. 2014
Beantwortet: Andrei Bobrov am 2 Okt. 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.

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 2 Okt. 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)

Weitere Antworten (1)

dpb
dpb am 2 Okt. 2014

Kategorien

Mehr zu Interpolation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by