MATLAB外部接口.ppt_第1頁
MATLAB外部接口.ppt_第2頁
MATLAB外部接口.ppt_第3頁
MATLAB外部接口.ppt_第4頁
MATLAB外部接口.ppt_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、外部接口,本章將著重介紹MATLAB的外部接口,包括:與Word/Excel的混合使用;編譯器;應用程序接口。,目錄,1與Word/Excel的混合使用2編譯器3應用程序接口,1與Word/Excel的混合使用,1.1Notebook的使用1.2Excellink的使用,在Word環(huán)境中可以使用MATLAB的資源。同時MATLAB也可以與Excel混合使用。,1.1Notebook的使用,1在Word中執(zhí)行代碼的基本過程2Notebook使用中應該注意的問題,安裝Notebook(又稱M-book)時,計算機中必須已經安裝Word和MATLAB,其具體步驟如下。,1在Word中執(zhí)行代碼的基本過

2、程,Notebook采用輸入細胞(InputCell)來定義MATLAB的代碼,具體操作步驟如下。采用文本格式輸入代碼,末尾不要加回車和空格。,通過Notebook菜單中的【DefineInputCell】選項定義輸入細胞,其中輸入細胞都顯示為黑方括號包括綠色字符的形式。通過Notebook菜單中的【EvaluateCell】選項或者按Ctrl+Enter鍵,運行輸入細胞內的代碼,并得到黑方括號包括藍色字符形式的輸出細胞。,2Notebook使用中應該注意的問題。,M-book文檔中的MATLAB代碼必須在英文狀態(tài)下輸入。帶鼠標操作交互的代碼最好不在M-book文檔中運行。,在運行M-book

3、文檔時,最好不運行其他程序與任務,以免影響M-book文檔中程序的正確執(zhí)行。采用以下方法解決代碼執(zhí)行中出現(xiàn)的異常情況:代碼以命令clear開始;重新啟動計算機后,再執(zhí)行M-book文檔中的程序;將M-book文檔的代碼拷貝到M文件,再到MATLAB的命令窗口執(zhí)行。,M-book文檔的代碼運行速度要比在MATLAB命令窗口中執(zhí)行慢很多。當編輯科技論文或其他文檔時,最后可將細胞轉換為普通文本。,可使用Notebook菜單中的【BringMATLABtoFont】選項或者按組合鍵AltM把MATLAB的命令窗口調到前臺??墒褂肗otebook菜單中的【ToogleGraphOutputforCell

4、】選項控制是否顯示輸入細胞或輸出細胞的輸出圖形。,1.2Excellink的使用,1Excellink的安裝2Excellink的啟動3Excellink的終止4Excellink使用時需要注意的幾個問題,Excellink是在MicrosoftWindows環(huán)境下實現(xiàn)MicrosoftExcel和MATLAB進行交互的插件。使用Excellink時,不必脫離Excel環(huán)境。Excellink提供11條功能函數(shù)來實現(xiàn)數(shù)據(jù)的鏈接和操作。,1Excellink的安裝,系統(tǒng)需要在Windows環(huán)境下先安裝Excel,然后再安裝MATLAB和Excellink。Excellink隨安裝MATLAB時安

5、裝的,即在MATLAB安裝組件中選中Excellink。,需要在Excel中設置,具體步驟如下。啟動MicrosoftExcel,單擊工具菜單(Tools),執(zhí)行【加載宏】命令,得到如下圖所示的結果。,在打開的【加載宏】對話框中單擊【瀏覽】按鈕,選擇MATLAB安裝目錄下的toolboxexlink子目錄里的excllink.xla文件,然后單擊【確定】按鈕,如下圖所示。,返回【加載宏】窗口,此時已經選中了【Excellink】選項,如下圖所示。單擊【確定】按鈕后,Excellink插件即可加載MATLAB,并可以看到其運行窗口。,2Excellink的啟動,按照上面的設置,每次啟動Excel

6、時Excellink和MATLAB將自動運行。,如果不希望Excellink和MATLAB自動運行,可以通過在Excel數(shù)據(jù)表單元中輸入“=MLAutoStart(”no“)”即可改變設置,如下圖所示。,同時可以從Excel環(huán)境中手動啟動Excellink和MATLAB。首先,在Tools菜單中選擇【宏】選項,如下圖所示;,在如下圖所示的對話框中輸入“MATLABinit”,單擊【執(zhí)行】按鈕后即可啟動Excellink,并同時啟動MATLAB。,3Excellink的終止,當終止Excel的時候,Excellink和MATLAB會被同時終止。,如果需要在Excel環(huán)境中終止MATLAB和Exc

7、ellink的運行,則在工作表單元中輸入“=MLClose()”即可,如下圖所示。當需要重新啟動Excellink和MATLAB時,可以使用MATLABinit命令。,4Excellink使用時需要注意的幾個問題,Excellink函數(shù)名對字母的大小寫不作區(qū)分,而MATLAB函數(shù)名是區(qū)分大小寫的。Excel工作表等式通常以“”或“”作為起始標記。在大多數(shù)Excellink函數(shù)中有兩種定義變量的方式,即直接定義和間接定義。,Excellink函數(shù)執(zhí)行過程中其所在數(shù)據(jù)單元將一直顯示其函數(shù)內容,函數(shù)執(zhí)行完畢后,數(shù)據(jù)單元將被賦值為0。建議設置Excel【工具】工具菜單里【選項】的【編輯】頁中【按Ent

8、er鍵后移動】選項為【向下】,以保證輸入完畢且經確認后再改變當前工作單元。,2編譯器,2.1編譯器概述2.2編譯器的安裝和配置2.3編譯器的使用,MATLAB編譯器是指將M文件作為其輸入,同時生成獨立的可執(zhí)行文件或相關軟件組件的程序,它可以由命令mcc調出。,2.1編譯器概述,MATLAB編譯器4.0版本采用了MATLABComponentRuntime(MCR)技術。MCR提供了對MATLAB語言的完全支持。MATLAB編譯器采用了ComponentTechnologyFile(CTF)存檔來組織配置文件包。,所有的M文件均采用了高級加密標準(AES)進行了密鑰為1024位的加密,保存為CT

9、F格式。每一個由MATLAB編譯器生成的應用程序或者共享庫均有一個與之相對應的CTF存檔。,MATLAB編譯器自動生成獨立文件或軟件組件。為了生成獨立運行的MATLAB應用程序,只需要用來構成應用程序的M文件,然后編譯器將會自動執(zhí)行以下操作。依賴性分析;代碼生成;存檔生成;編譯;鏈接。,2.2編譯器的安裝和配置,1安裝ANSIC/C+編譯器2安裝MATLAB編譯器3配置編譯器4安裝MCR,1安裝ANSIC/C+編譯器,2安裝MATLAB編譯器,MATLAB編譯器的安裝過程包含在安裝MATLAB之中,當選擇Typical的安裝模式時,MATLABCompiler會被自動選為MATLAB的安裝組件

10、。,當選擇Custom安裝模式時,在默認情況下,MATLABCompiler選項是被選中的,如下圖所示。,3配置編譯器,下面將介紹如何配置C或C+編譯器,使其可以與MATLAB編譯器一起進行工作。,4安裝MCR,將MATLAB安裝路徑中的toolboxcompilerdeploywin32子目錄下的文件MCRInstaller.exe拷貝到其他路徑;雙擊進行安裝,直到提示安裝結束。,2.3編譯器的使用,1編譯指令mcc2創(chuàng)建獨立執(zhí)行程序,1編譯指令mcc,不管是生成獨立執(zhí)行程序,還是C共享庫以及軟件組件,只要源碼是M文件都可以借助編譯命令mcc實現(xiàn)。,2創(chuàng)建獨立執(zhí)行程序,下面以3個例子說明不同

11、類型的編譯過程。,打開DOS窗口,將路徑變更為exm2.exe所在目錄,并運行exm2.exe,運行結果如下圖所示。,3應用程序接口,3.1創(chuàng)建C語言MEX文件3.2Java接口3.3DDE技術3.4ActiveX技術,MATLAB提供應用程序接口(ApplicationProgramInterface,API)來實現(xiàn)與其他外部程序的溝通。,3.1創(chuàng)建C語言MEX文件,1MEX文件簡介2編寫MEX文件源程序,1MEX文件簡介,MEX是MATLAB和Executable兩個單詞的縮寫。MEX文件一般使用C或者Fortran語言編寫,通過編譯生成的目標文件能夠被MATLAB調用執(zhí)行。,MEX文件主

12、要應用于已存在較大規(guī)模的C或者Fortran程序。矩陣是MATLAB唯一能處理的對象,在C語言中矩陣用結構體mxArray來定義。,2編寫MEX文件源程序,編寫MEX文件源程序時,要用到兩類API庫函數(shù):mx-庫函數(shù),用于在C語言中創(chuàng)建、訪問、操作和刪除結構體mxArray;mex-庫函數(shù),用于與MATLAB環(huán)境進行交互。,3.2Java接口,Java語言是一種面向對象的高級編程語言。在MATLAB中可以直接調用Java的應用程序。,利用MATLAB的Java接口可以完成下列工作:調用JavaAPI類和包;調用第三方Java類;在MATLAB環(huán)境下創(chuàng)建Java對象;通過Java語法或者MATL

13、AB語法使用Java對象的方法;在Java對象和MATLAB之間交互數(shù)據(jù)。,在MATLAB中創(chuàng)建Java對象有兩種方法:直接用Java類用函數(shù)javaObject()創(chuàng)建。,3.3DDE技術,1DDE的一般性說明2DDE中的MATLAB服務器3DDE中的MATLAB客戶,動態(tài)數(shù)據(jù)交換(DynamicDataExchange,DDE)允許各Windows應用程序間交換數(shù)據(jù)的通信機制。Windows平臺上的MATLAB作為一個應用程序,具有借助DDE與其他應用程序通信的功能。,1DDE的一般性說明,應用程序可以借助DDE通話實現(xiàn)彼此間的通信。請求建立對話的應用程序稱為客戶(Client)響應對話請

14、求的應用程序被稱為服務器(Server)。,當客戶應用程序創(chuàng)建DDE對話時,必須識別被呼叫服務器的兩個DDE參數(shù):服務名(Servicename),即被請求對話的應用程序名;話題(Topic),即對話主題。由這兩個參數(shù)構成了區(qū)分不同對話的惟一標識。,2DDE中的MATLAB服務器,客戶可以采用不同方法訪問作為服務器的MATLAB。假如客戶應用程序能夠提供管理DDE對話的函數(shù)或宏,則應該充分利用它們;假如客戶應用程序是自行編制的,則可利用MATLAB引擎庫或直接利用DDE。,MATLAB用作服務器時的工作原理如下圖所示。,當MATLAB作為DDE服務器使用時,所能選用的具體名稱和它們間的層次關系

15、如下圖所示。,3DDE中的MATLAB客戶,當MATLAB以客戶身份建立DDE通信時,其工作原理如下圖所示。,在Excel開啟的前提下,運行結果如以下兩圖所示。,3.4ActiveX技術,1ActiveX技術的一般性說明2自動化客戶3自動化服務器,1ActiveX技術的一般性說明,ActiveX是一種基于MicrosoftWindows操作系統(tǒng)的組件集成協(xié)議,是各種面向對象技術的集合。每個ActiveX都支持一個或多個賦名的界面,而界面是一組邏輯相關方法、屬性和事件的組合。,MATLAB支持兩種ActiveX技術,即ActiveX控件和ActiveX自動化。MATLAB自動化客戶的功能僅是MATLABActiveX控件功能的子集。,2自動化客戶,若需要MATLAB通過ActiveX自動化客戶支持調用其他ActiveX組件,則

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論