作者nago (低调的奢华!)
看板MATLAB
标题[问题]关於多维阵列寻找出最小值的所在位置
时间Sat May 16 12:08:44 2015
哈喽 各位大大好!
不好意思!
小弟我有个关於多维阵列寻找出最小值的所在位置的问题
(也就是寻找出最小值的所在阵列中 其"列"行"页"的确切位置)
程式码如下:
A(:,:,1) = [7,2,3,4;5,6,7,8;9,10,11,12] ;
A(:,:,2) = [7,4,2,7;6,5,1,2;3,8,4,5] ;
A(:,:,3) = [5,6,7,9;2,3,3,5;4,6,7,7] ;
val = min(min(min(A))) ;
[row,column,page] = find(A == val) ;
row
column
page
A
A(2,3,2)
首先我产生一个三维阵列A,
A(:,:,1) =
7 2 3 4
5 6 7 8
9 10 11 12
A(:,:,2) =
7 4 2 7
6 5 1 2
3 8 4 5
A(:,:,3) =
5 6 7 9
2 3 3 5
4 6 7 7
理论上A的最小值是1 位置是在A(2,3,2),
也就是第2列 第3行 第2页的位置
但是我用上方的程式码,
却出现以下结果
row = 2
column = 7
page = 1
这结果与第2列 第3行 第2页有很大差异,
因此想请教好心的大大,
该如何寻找出正确的位置索引值?
由衷感谢各位的帮忙!!
--
鱼的泪 只有懂鱼的水才看得见
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.244.162.51
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1431749339.A.1B1.html
1F:→ celestialgod: [~, I] = min(A(:));[r,c,p] = ind2sub(size(A), I) 05/16 12:48
2F:→ celestialgod: (r,c,p)=(2,3,2) 正是你想要的 05/16 12:48
3F:→ celestialgod: 根据manual,find三个output时跟你想的不一样 05/16 13:02
4F:→ nago: 感谢大大帮忙!! ^^ 05/17 16:11