Arrays MATLAB:获取三维阵列中的极小值索引
我有一个关于MATLAB的小问题 我有一个3D阵列,其中每个2D层都是一张图片。我需要的是这个数组中每个像素的最小值的“第三”索引(=层数)。最后,我希望有一个2D数组,其中有这些最低值的索引 例如: 具有以下两个二维图层的三维阵列: 第1层:Arrays MATLAB:获取三维阵列中的极小值索引,arrays,matlab,3d,minimum,Arrays,Matlab,3d,Minimum,我有一个关于MATLAB的小问题 我有一个3D阵列,其中每个2D层都是一张图片。我需要的是这个数组中每个像素的最小值的“第三”索引(=层数)。最后,我希望有一个2D数组,其中有这些最低值的索引 例如: 具有以下两个二维图层的三维阵列: 第1层: 3-5-6 1-4-2 7-5-2 第2层: 1-8-2 4-6-1 9-2-5 结果应为以下数组: 2-1-2 1-1-2 1-2-1 我希望你能看到我想要达到的目标,对不起我的英语不好,我不能用语言表达我的问题 谢谢您的帮助。让A作为矩阵,
3-5-6
1-4-2
7-5-2
第2层:
1-8-2
4-6-1
9-2-5
结果应为以下数组:
2-1-2
1-1-2
1-2-1
我希望你能看到我想要达到的目标,对不起我的英语不好,我不能用语言表达我的问题
谢谢您的帮助。让
A
作为矩阵,然后您就可以使用它了
[B, I] = min(A, [], 3);
[~, I] = min(A, [], 3);
其中B
是最小值,I
包含索引。如果您对最小值不感兴趣,可以使用
[B, I] = min(A, [], 3);
[~, I] = min(A, [], 3);
以你为例
>> A(:,:,1) = [3 5 6; 1 4 2; 7 5 2];
>> A(:,:,2) = [1 8 2; 4 6 1; 9 2 5];
>> [B,I]=min(A, [], 3)
B =
1 5 2
1 4 1
7 2 2
I =
2 1 2
1 1 2
1 2 1
让
A
作为矩阵,然后您可以使用
[B, I] = min(A, [], 3);
[~, I] = min(A, [], 3);
其中B
是最小值,I
包含索引。如果您对最小值不感兴趣,可以使用
[B, I] = min(A, [], 3);
[~, I] = min(A, [], 3);
以你为例
>> A(:,:,1) = [3 5 6; 1 4 2; 7 5 2];
>> A(:,:,2) = [1 8 2; 4 6 1; 9 2 5];
>> [B,I]=min(A, [], 3)
B =
1 5 2
1 4 1
7 2 2
I =
2 1 2
1 1 2
1 2 1
感谢您的快速回复!这正是我要找的,效果很好。谢谢你的快速回复!这正是我想要的,效果很好。