[問題] 區域最小值 與 兩組多維向量最小值 快速算法已回收
大家好
兩個加速問題想請教
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
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章