[問題] 區域最小值 與 兩組多維向量最小值 快速算法已回收

看板MATLAB作者 (tonit)時間16年前 (2009/04/17 00:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好 兩個加速問題想請教 1. 一個二維矩陣內的區域最小值 定義: 找出 一個 n x m 矩陣中 所有 3 x 3 區域內為最小值的 (值, 索引) 舉例: 給一 3 x 5 矩陣 1 2 1 1 1 1 0 1 0 2 1 1 2 3 1 要找出兩個區域最小值的(值, 索引) 分別是 (0, [2, 2]) (0, [2, 4]) 目前作法: for nn = 1:n for mm = 1:m if ... (比較八個鄰居看是否最小) end end 這個能否以向量化加速呢? 2. 兩組高維向量的最小距離 定義: 給 n x k 矩陣, m x k 矩陣 分別代表 n 個 k 維度向量和 m 個 k 維度向量 想要對 n 向量中的每一個向量, 找出 m 個向量中 平方差距離最小的 舉例: n = 3, k = 2 m = 4, k = 2 0 1 0 0 1 1 9 9 8 8 8 9 7 9 則找出 (0 1) <-> (0 0) (1 1) <-> (0 0) (8 8) <-> (8 9) 這樣的對應關係 如果用 一般 c語言的 for 迴圈 面對資料量很大的時候 沒辦法有效率的解決 請問以上兩種問題 是否有向量化算法 或是 快速的解法呢? 謝謝 大家 :) -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.142
文章代碼(AID): #19vrwGg5 (MATLAB)
文章代碼(AID): #19vrwGg5 (MATLAB)