Matlab比较了一个大矩阵的元素

时间:2013-05-31 18:41:31

标签: matlab matrix compare

我有一个大小为(1000,1000,20)

的大型矩阵

我必须将位置(x,y,1)上的元素与(x,y,2)(x,y,3)进行比较,依此类推,直至(x,y,20)找到最小值,以及最小值为的索引。

最后,我想要2个大小为(1000,1000,1)的新矩阵:一个具有最小元素,一个具有最小值的索引。

例如我有:

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

A(:,:,2)=[0,3;1,2]

我想得到矩阵:

X = [0,2;2,4]

和:

Y=[2,1;1,1] 

索引信息。

我可以用循环来解决它,但是想要使用更节省时间的方法。

2 个答案:

答案 0 :(得分:0)

我认为你的例子需要重写,但内置的min函数可以解决这个问题:

[C,I] = min(A,[],3)

答案 1 :(得分:0)

您可以使用min功能。

以这种方式使用时:

[C, I] = min(A, [], dim)

它返回dim中给定维度C的最小元素及其I中的索引。

返回的索引是线性索引,您可以使用ind2sub为每个索引转换为下标。