[討論] matlab加速問題
大家好
最近在做影像處理的project
我想問怎麼讓matlab call C, C再call matlab
開發環境: windows7(64bit), matlab 2012a, compiler:visual studio 2010
網路很多這方面的資料 但好像都是只call一次
而我是要call 很多次...
目前希望的處理流程大致是這樣:
1. 資料先用matlab做初步處理後得到一維矩陣A
A矩陣的每個element都要拿來給function F做運算
(ps: 每個element的運算都是independent ; F 是自己寫的演算法,裡面有些矩陣運算)
運算結果再寫到一個新的矩陣B
目前寫個for loop去跑,每次iteration都會呼叫function F計算A的每個element
但是很慢 (A的element滿多的,推測是這個for loop拖垮程式執行速度)
因此我想把這個for loop丟給C平行化
2. 把A矩陣傳給c code,用openMP去平行,然後算出新矩陣B
卡在這邊...
因為不知道怎麼在.c的for 呼叫 matlab 的 function F,然後算出B矩陣
而且這樣不確定會不會比較快@@
3. 矩陣B丟給matlab 的function顯示圖片
---------------------------------------------------------
網路上查到的都是在visual studio 下呼叫matlab function(用engine那個方法)
但我的狀況像是在matlab環境下 呼叫C->C再呼叫matlab的function
->C算完後,結果再丟給matlab顯示圖片
我知道怎麼在matlab環境下編輯C和帶有openMP的code
也知道怎麼在.m檔呼叫C 並且把矩陣A傳給C code
然後就不確定要怎麼做比較好了...
希望各位大大給我指示方向或是google的關鍵字 >_<
感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.42.53
※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1402822295.A.3E6.html
→
06/15 18:31, , 1F
06/15 18:31, 1F
推
06/15 20:55, , 2F
06/15 20:55, 2F
→
06/16 00:14, , 3F
06/16 00:14, 3F
→
06/18 09:02, , 4F
06/18 09:02, 4F