How to value value NaN in a 2d matrix?

2 次查看(过去 30 天)
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.

采纳的回答

Andrei Bobrov
Andrei Bobrov 2014-10-2
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)

更多回答(1 个)

dpb
dpb 2014-10-2

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by