混合編程法

混合編程法指的是結合多種程式語言來完成特定目標的方法。

基本介紹

  • 中文名:混合編程法
  • 套用領域:計算機,機械加工
常見方法,輔助方式,利用ActiveX控制項,利用MAT檔案,Matlab調用C/C++,MATLAB和 Excel混合編程,

常見方法

使用MATLAB自帶的MATLAB Compiler。
MATLAB 5.3以後的版本都自帶了C語言的編譯器。MATLAB Compiler是MATLAB混合編程的基礎。生成的C/C++原始碼需要用C/C++編譯器編譯連結成獨立應用程式。在將M檔案轉成獨立應用程式的過程中生成C/C++檔案,原則上它是可以被其他C/C++代碼調用的,編譯器可以通過設定mcc命令的選項,將M檔案編譯成動態程式庫檔案、C/C++檔案、執行檔等一系列檔案。

輔助方式

利用ActiveX控制項

ActiveX 是一種支持組件集成的Microsoft Windows協定,通過ActiveX技術可以將不同環境下開發的組件集成到一個套用環境中。ActiveX同時是面對對象技術的一種,屬於基於組件對象模型(COM)的子類。COM為所有的ActiveX對象定義了對象模型,每個 ActiveX 對象支持一定的接口,也就是不同的方法、屬性和事件。
MATLAB支持兩種ActiveX技術:ActiveX 控制器和ActiveX Automation。ActiveX控制器可以將不同的ActiveX控制集成在一個套用中,而ActiveX Automation是一種允許一個應用程式(客戶端)去控制另一個應用程式(伺服器端)的協定。因此,它允許MATLAB 控制其他ActiveX 組件或者被其他ActiveX控制。當MATLAB控制其他ActiveX組件時,MATLAB作為一個Automation Client;當MATLAB被其他 ActiveX 控制項控制時,MATLAB作為一個Automation Server。

利用MAT檔案

MATLAB與其他編程環境的數據互動是通過 MAT數據檔案來實現的。MAT檔案是MATLAB系統保存檔案的默認檔案格式,它把數據檔案存儲為二進制格式。這種格式為不同平台或不同應用程式間共享MATLAB數據提供了一種便利的機制。一般情況下,不需要了解 MAT檔案的具體格式,因為MATLAB提供了一些 API 函式來簡化MAT檔案的讀取與存儲,而MATLAB API完全螢幕蔽MAT檔案格式。因此,在某些情況下,可將計算複雜度高的操作交由MATLAB來處理,而在其他應用程式中通過共享MATLAB生成的 MAT 數據檔案達到減輕編程負擔的目的。

Matlab調用C/C++

Matlab調用C/C++的方式主要有兩種:利用MEX技術和調用C/C++動態連線庫。
在Matlab與C/C++混合編程之前,必須先對Matlab的編譯應用程式mex和編譯器mbuild進行正確的設定:
對Matlab編譯應用程式mex的設定:Mex –setup.
對Matlab編譯器mbuild的設定:Mbuild –setup.

MATLAB和 Excel混合編程

Excel 和MATLAB在圖形顯示和數值計算上各有優勢。因此,MATLAB提供了 Excel Link和MATLAB Builder for Excel兩個工具實現二者的混合編程。
Excel Link是一個在Windows環境下實現MATLAB和Excel的工作區,利用Excel的宏編程工具,使用MATLAB的數據處理和圖形處理功能進行相關操作,同時由Excel Link來保證兩個工作環境數據的交換和同步更新。使用 Excel Link時,不必脫離Excel 環境,而是直接在 Excel 工作區或者宏操作中調用MATLAB函式。
MATLAB Builder for Excel 是MATLAB專門為Excel提供的生成器工具,它能輕易地將複雜的MATLAB算法轉換為獨立的 Excel 載入宏(外掛程式)。使用者可以像使用其他 Excel載入宏一樣使用MATLAB算法。MATLAB所建立的Excel載入宏函式依賴計算功能強大的MATLAB函式館,其運算速度可以比利用VBA所建立的Excel載入宏快很多。從MATLAB所建立的 Excel 載入宏函式也可以免費分享任何Excel應用程式。利用該工具,可以生成DLL組件或者VBA代碼。利用DLL組件,可以進行與COM生成器組件相似的操作。VBA代碼則可以在Excel的Visual Basic編輯器中直接使用。

相關詞條

熱門詞條

聯絡我們