[討論] matlab加速問題

看板MATLAB作者 (rtetrtoo)時間10年前 (2014/06/15 16:51), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/1
大家好 最近在做影像處理的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
查到TOMLAB 好像有機會
06/15 18:31, 1F

06/15 20:55, , 2F
matlab 的help有些範例
06/15 20:55, 2F

06/16 00:14, , 3F
發現用mcc, mbuild可以
06/16 00:14, 3F

06/18 09:02, , 4F
mcc -m function compile to exe then call in C
06/18 09:02, 4F
文章代碼(AID): #1JdLwNFc (MATLAB)