I need to find the index of a 2d matrix within a 3rd array which has the lowest number of NaN values.
2 次查看(过去 30 天)
显示 更早的评论
I have a 3D array of dimensions 942x523x365 with numerical and NaN values. I would like to find the 2D slice along the 3rd Dimension with the lowest number of NaN values.
0 个评论
采纳的回答
Matlab Pro
2024-6-16
HI @Angus
Here is a simpler example with lower dimentions..
Enjoy
M = randi([1,100],[5,10,15]);
idxNan = rand([5,10,15]) > 0.8;
M(idxNan) = nan;
% Horizontal max Nan's index
tmp = [sum(sum(isnan(M)))];
howManyNans = squeeze(tmp(1,1,:));
maxIdx = find(howManyNans == max(howManyNans));
% Vertical max Nan's index
M1 = permute(M,[3 1 2]);
tmp = [sum(sum(isnan(M1)))];
howManyNans = squeeze(tmp(1,1,:));
maxIdx = find(howManyNans == max(howManyNans));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!