台大教授matlab讲解14-matlab编译器.ppt
文本预览下载声明
MATLAB 程式設計入門篇:通用運算式 MATLAB 程式設計入門篇:通用運算式 MATLAB 程式設計入門篇 MATLAB 編譯器 張智星 jang@.tw .tw/~jang 清大資工系 多媒體檢索實驗室 MATLAB編譯器具有下列功能: 產生獨立應用程式(Stand-alone Applications) 應用程式能夠具有MATLAB的完整功能 可以在沒有安裝 MATLAB的電腦上執行 產生C或C++的程式庫: 含動態程式庫(Dynamically Linked Libraries,簡稱DLL,用於微軟視窗系統)或共享程式庫(Shared Libraries,用於UNIX/LINUX系統) 可用於任何外部應用程式 可以在沒有安裝 MATLAB的電腦上執行 14-1 MATLAB編譯器簡介 軟體元件: 例如 Java 類別庫(Java Classes)、Excel 增益程式(Excel Add-ins)、COM 及 .NET 物件等,這些軟體元件的產生 需要使用 MATLAB Builder 14-1 MATLAB編譯器簡介 進入範例說明前,必須先設定電腦上的C編譯器,以便用於MATLAB編譯器,方法如下述 在MATLAB命令視窗下輸入「mbuild -setup」,系統回應如下: 14-1 MATLAB編譯器簡介 Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? 輸入「y」之後,按下 Enter,系統回應如下: 這些C編譯器是MATLAB在你的電腦自動偵測出來的結果(所以在不同的電腦會得到不同的結果) 14-1 MATLAB編譯器簡介 Select a compiler: [1] Lcc C version 2.4.1 in C:\PROGRAM FILES\MATLAB\R2006A\sys\lcc [2] Microsoft Visual C/C++ version 8.0 in C:\Program Files\Microsoft Visual Studio 8 [3] Microsoft Visual C/C++ version 6.0 in C:\PROGRA~1\MIAF9D~1 ? [0] None ? Compiler: 提示 若在上述過程中,出現錯誤訊息,你可以先進行「mex -setup」,再進行「mbuild -setup」,可能就可以解決你的問題。 若要MATLAB編譯器將一個MATLAB函式編譯成獨立應用程式,所使用的指令是 mcc,格式如下 mcc –m userFunc.m 先撰寫一個 MATLAB 函式myEigValue.m 範例14-1:myEigValue/myEigValue.m 14-2 產生獨立應用程式 function eigValue = myEigValue(mat) %myEigValue: Generate the eigenvalues of the given matrix if (isstr(mat)) % 若輸入是字串,轉成數值 mat=eval(mat); end [a, b] = eig(mat); eigValue=diag(b); disp(eigValue); % 顯示固有值 eigenValue 測試此範例,可以在MATLAB命令視窗輸入: myEigValue(magic(5)); 即可在螢幕顯示一個 5X5 的魔術方陣所對應的固有值 14-2 產生獨立應用程式 在將此MATLAB函式編譯成為可執行檔的過程中,會產生一些額外檔案,所以你必須將本範例由光碟拷貝至硬碟,才能進行以下的操作。 提示 將 myEigValue.m 轉換成 myEigValue.exe,有一些細節要特別小心: myEigValue.exe 將使用命列列參數的方式來得到輸入方陣,所以 myEigValue.m 必須先使用 eval 將輸入字串轉為方陣。 myEigValue.m 必須使用 disp 結果印在螢幕上,以方便 myEigValue.exe 來印出同樣的結果。 14-2 產生獨立應用程式 接著,我們在MATLAB命令視窗下,將工作目錄改變至 myEigValue.m 所在的目錄 然後使用下列命令來將 myEigValue.m 編譯成 myEigValue.exe,如下: mcc –m myEigValue.m 經過半分鐘的時間,就會完成編譯,並產生數個檔案,包含 一個可執行檔
显示全部