[問題]關於多維陣列尋找出最小值的所在位置

作者: nago (低調的奢華!)   2015-05-16 12:08:44
哈嘍 各位大大好!
不好意思!
小弟我有個關於多維陣列尋找出最小值的所在位置的問題
(也就是尋找出最小值的所在陣列中 其"列"行"頁"的確切位置)
程式碼如下:
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頁有很大差異,
因此想請教好心的大大,
該如何尋找出正確的位置索引值?
由衷感謝各位的幫忙!!
作者: celestialgod (天)   2015-05-16 12:48:00
[~, I] = min(A(:));[r,c,p] = ind2sub(size(A), I)(r,c,p)=(2,3,2) 正是你想要的根據manual,find三個output時跟你想的不一樣
作者: nago (低調的奢華!)   2015-05-17 16:11:00
感謝大大幫忙!! ^^

Links booklink

Contact Us: admin [ a t ] ucptt.com