我有一个3D矩阵。我可以使用下面的代码来查找1.61以上的元素数量。我怎样才能真正列出1.61以上的元素并显示它们的价值?例如,如果我的值为8.1和9.1,我希望Matlab告诉我这两个值。我能这样做吗?
for i = 1:5
A = ans.atom_data(:,5,i);
count(i,:) = sum(A(:)>1.61)
end
答案 0 :(得分:2)
如果您只想知道值,请使用逻辑索引,如下所示:
result = A(A>1.61);
如果要获取3D数组B
的每个第三索引层的结果,可以使用单元格进行:
result = cellfun(@(x) x(x>1.61), squeeze(mat2cell(B,size(B,1),size(B,2),ones(1,size(B,3)))),'uni',0);
然后result{1}
会提供与B(:,:,1)
等对应的值