Re: [問題] 區域最小值 與 兩組多維向量最小值 快댠…已回收

看板MATLAB作者 (tonit)時間16年前 (2009/04/17 13:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《sunev (Veritas)》之銘言: : ※ 引述《tonit (tonit)》之銘言: : : 大家好 : : 兩個加速問題想請教 : : 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 : : 這個能否以向量化加速呢? : 想辦法把問題化成四則運算 : 例如減八個鄰居都要是負值 : 給定特定entry的index : 算出其八個鄰居的index : 然後再想辦法用高維矩陣一口氣算完 : 感覺上是做得到 : 但不確定會不會比較快 請問詳細情形 八個鄰居的 index 不難 用手打也不會太久 但這個高維矩陣不清楚要怎麼做 能否再說明一下呢? : : 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) : : 這樣的對應關係 : 先做出距離矩陣 : 再對某個dimension取min 由 leon 提醒 似乎用 k-nearest neighbor 是不錯的辦法 不過還是想了解一下 sunev 所謂 "做出距離矩陣 在對某個 dimesnsion取min" 能否舉個例子呢? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.142
文章代碼(AID): #19w1cDZC (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #19w1cDZC (MATLAB)