看板 MATLAB 關於我們 聯絡資訊
如題, 要計算4D Hessian, 請問應如何將所有的偏微分項排入cell array? 以2D舉例, (1) H = [ partial_xx, partial_xy; partial_yx, partial_yy ]; (2) 假設對一張 M-by-N 的影像做 Hessian, 這時候會得到 partial_xx, partial_xy; partial_yx, partial_yy 等, 共 4 個大小為 M-by_N 的矩陣. (3) 我希望建立一個 M-by-N 的 cell array, 每一個cell內含一個 2*2 的矩陣: [ partial_xx(i,j), partial_xy(i,j); partial_yx(i,j), partial_yy(i,j)] (i,j)對應到原本影像內的第(i,j)個pixel; == 請問該怎麼寫才省時省力? 目前必須要排進cell array才能call cellfun處理後續. 雖然可以靠迴圈硬排, 因為實際的4D data量太大,迴圈會額外耗費時間. 謝謝. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.16.166 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1445485102.A.0CA.html ※ 編輯: YoursEver (140.109.16.166), 10/22/2015 11:43:46
sunev: cellfun 不見得會比迴圈快喔,用arrayfun ? 10/22 12:55
celestialgod: arrayfun跟cellfun差不多吧XDD 10/22 13:39
celestialgod: 我忘記可以多個input了,s大對QQ 我錯惹 10/22 13:43
celestialgod: 以在原文修正 10/22 13:43
celestialgod: 喔對了 之前有測過cellfun跟for差不多XDD 10/22 13:51
celestialgod: (在都有先配置記憶體下) 10/22 13:51
sunev: 我指的是這篇所謂的後續,想辦法將迴圈向量化或是用 10/22 16:21
sunev: arrayfun會比較好,cellfun應該不會比較快 10/22 16:21
YoursEver: 謝謝sunev. 說實在話,我對arrayfun和cellfun的差異並不 10/23 11:33
YoursEver: 了解. 10/23 11:33
sunev: 簡單來說,arrayfun是掃一般的多維array,cellfun是掃cell 10/26 16:56
sunev: array,但matlab處理cell就是慢,所以能排成方整的array 10/26 16:57
sunev: 就用array吧 10/26 16:57
YoursEver: 收到,謝謝! 10/27 10:53