在3D矩阵中使用Find - Matlab

时间:2014-09-26 13:41:36

标签: matlab matrix replace find

所以我有一个大的3D矩阵(Matrix1 = round(rand(100,100,3)* 100);)我需要使用Find选项来挑选所有的值< 16并用0替换它们。知道使用其他方法更容易,但我需要使用Find。

我需要使用这个: [I,J,K] = ind2sub(size(Matrix1),find(Matrix1)< 16);

如果是这样的话,我不明白在得到它之后该怎么处理J和K.

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

因此find将为您提供linear index中所需元素的坐标,使用此索引重新分配值:

Matrix1(find(Matrix1<16))=0;