Matlab比较大矩阵的元素

Matlab比较大矩阵的元素,matlab,matrix,compare,Matlab,Matrix,Compare,我有一个大矩阵,大小(10001000,20) 我必须将(x,y,1)位置的元素与(x,y,2)和(x,y,3)等进行比较,直到(x,y,20)找到最小值,以及最小值所在的索引 最后,我想要2大小为(10001000,1)的新矩阵:一个具有最小元素,另一个具有最小元素所在的索引 例如,我有: A(:,:,1)=[1,2;2,4] A(:,:,2)=[0,3;1,2] 我想得到矩阵: X = [0,2;2,4] 以及: Y=[2,1;1,1] 使用索引信息 我可以用循环来解决这个问题,但

我有一个大矩阵,大小
(10001000,20)

我必须将
(x,y,1)
位置的元素与
(x,y,2)
(x,y,3)
等进行比较,直到
(x,y,20)
找到最小值,以及最小值所在的索引

最后,我想要
2
大小为
(10001000,1)
的新矩阵:一个具有最小元素,另一个具有最小元素所在的索引

例如,我有:

A(:,:,1)=[1,2;2,4]

A(:,:,2)=[0,3;1,2]
我想得到矩阵:

X = [0,2;2,4]
以及:

Y=[2,1;1,1] 
使用索引信息


我可以用循环来解决这个问题,但我想使用一种更省时的方法。

我认为您的示例需要重写,但内置的min函数可以实现以下目的:

[C,I] = min(A,[],3)
您可以使用该函数进行此操作

以这种方式使用时:

[C, I] = min(A, [], dim)
它返回
C
中给定维度
dim
上的最小元素及其在
I
中的索引

返回的索引是线性索引,您可以将其转换为用于每个索引的下标