<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > VB調用Matlab在WEDM仿真系統中的應用

VB調用Matlab在WEDM仿真系統中的應用

作者: 時(shí)間:2010-07-08 來(lái)源:網(wǎng)絡(luò ) 收藏
基于BP神經(jīng)網(wǎng)絡(luò )的電火花線(xiàn)切割()工藝需要具有工藝數據庫管理、工藝效果預測、加工參數優(yōu)化等設計功能。借助的神經(jīng)網(wǎng)絡(luò )工具箱,可以建立良好的工藝效果預測模型和參數優(yōu)化模型,這正是工藝軟件最主要的功能要求。是Windows操作下優(yōu)秀的可視化編程工具軟件,在用戶(hù)界面設計和快速開(kāi)發(fā)等方面具有獨特的優(yōu)勢。同時(shí),軟件以其強大的科學(xué)計算功能和開(kāi)放式開(kāi)發(fā)思想使其成為當前最為流行的仿真計算工具。綜合兩種開(kāi)發(fā)環(huán)境各自的優(yōu)勢,可采用混合編程的方法實(shí)現工藝仿真軟件的編程開(kāi)發(fā)。

開(kāi)發(fā)環(huán)境下制定前臺用戶(hù)界面,利用Matlab強大的計算功能實(shí)現后臺模型的實(shí)時(shí)仿真。為了實(shí)現前臺界面與后臺仿真環(huán)境間的數據傳遞,ActiveX自動(dòng)化技術(shù)進(jìn)行VB與Matlab之間的接口設計,通過(guò)建立在VB程序和Matlab仿真環(huán)境之間的ActiveX自動(dòng)化連接,實(shí)現了在VB環(huán)境下對Matlab仿真命令的,并在VB友好的用戶(hù)界面中實(shí)時(shí)顯示仿真結果。

1 VB與Matlab間的接口分析

1.1 VB與Matlab接口形式

為了能夠充分利用Matlab提供的豐富函數庫,Matlab本身提供了程序接口A(yíng)PI(Matlab application program interface)。因此,VB與Matlab接口設計有多種實(shí)現方式。

(1)借用C++與Matlab的接口,將Matlab的程序文件(*.M)編譯為動(dòng)態(tài)鏈接庫(*.DLL),VB在代碼中生成DLL中的函數,以實(shí)現算法,便于用戶(hù)脫離Matlab環(huán)境使用。由于算法部分采用C++語(yǔ)句,運行速度較快,可應用于實(shí)時(shí)運算。但是這種方法對開(kāi)發(fā)者在設置和編程上都有較高的要求。

(2)通過(guò)使用嵌入VB中矩陣函數庫MatrixVB的方法實(shí)現接口。MatrixVB是第三方插件,利用與Matlab相似的函數、語(yǔ)法嵌入到VB中,可以像使用VB的函數、命令一樣使用Matlab函數。這種方法的語(yǔ)法和函數使用比較簡(jiǎn)單,編程效率很高,幾乎完全可以融入VB語(yǔ)言,特別是對圖形的處理非常方便,彌補了其他方法在圖形處理上的弱點(diǎn)。但由于它仍然采用解釋執行,執行效率較低,因此實(shí)時(shí)運算難以實(shí)現,特別對于Matlab各類(lèi)工具箱的尤為困難。

(3)在Visual Basic中通過(guò)調用Matlab的引擎接口,使用Windows的ActiveX技術(shù)與Matlab進(jìn)行數據交互。通過(guò)Object.Execute語(yǔ)句在程序中直接使用Matlab提供的函數庫和圖形庫。

1.2 ActiveX自動(dòng)化技術(shù)

ActiveX是一種支持組件集成MicroSoft Windows協(xié)議的自動(dòng)化技術(shù),通過(guò)ActiveX技術(shù)可以將不同環(huán)境下開(kāi)發(fā)的組件集成到一個(gè)應用程序中;ActiveX同時(shí)又是一種面向對象技術(shù),屬于組件對象模型(COM)的子類(lèi)。COM為所有的ActiveX對象定義了對象模型,每個(gè)ActiveX對象支持一定的接口,即支持不同的方法、屬性和事件。利用這些方法執行相應的動(dòng)作,幫助客戶(hù)端實(shí)現一定的功能。Matlab支持兩種類(lèi)型的ActiveX技術(shù):ActiveX控制容器和ActiveX Automation。ActiveX控制容器可以將不同的ActiveX控件集成在一個(gè)應用中;而ActiveX Automation是一種允許一個(gè)應用程序(客戶(hù)端)去控制另一個(gè)應用程序(服務(wù)器端)的協(xié)議。在本文中,Matlab是服務(wù)器端,VB是客戶(hù)端,通過(guò)Automation,客戶(hù)端可以執行Matlab命令,并與Matlab的工作空間進(jìn)行數據交換,以達到調用Matlab來(lái)訓練神經(jīng)網(wǎng)絡(luò )的目的。

2 ActiveX技術(shù)在接口設計中的應用

Matlab ActiveX自動(dòng)化服務(wù)的功能主要包括在Matlab工作空間執行Matlab命令,直接對工作空間進(jìn)行存取矩陣操作等。

Matlab提供了一個(gè)自動(dòng)化對象,其外部名稱(chēng)為Matlab.Application,支持COM技術(shù)。外部程序(如VB)通過(guò)COM技術(shù)提供的函數,得到自動(dòng)化服務(wù)器對象支持的指針,并通過(guò)調用接口函數控制和使用自動(dòng)化對象。在VB應用程序中,創(chuàng )建了Matlab的ActiveX對象后,就可以使用這個(gè)對象所包含的各種方法來(lái)實(shí)現對Matlab的調用。Matlab.Application對象含有3種方法,分別是Execute,GetFullatrix和PutFullMatrix。

(1)BSTR Execute([in]BSTR Command):BSTR表示寬字符串類(lèi)型,它與VB存儲字符串所采用的數據格式相同。該方法接收字符串命令并在Matlab中執行,將結果以字符串形式返回。

(2)void GetFullMatrix([in]BSTR Name[in]BSTR Workspace,[in,out]SAFEARRAY(douMe)*pr,[in,out]SAFEARRAY(double)*pi):GetFullMatrix方法從指定的工作空間檢索一個(gè)完整的實(shí)型或虛型mxArray,其實(shí)部和虛部被分別存放到2個(gè)單獨的Double型數組中??梢岳肎etFullMatrix方法將Matlab中的一個(gè)矩陣變量傳送到VB程序中的一個(gè)一維或二維數組中。其中,Name指定了Matlab中的矩陣變量名;Workspace指定了該矩陣所在的Matlab工作區;pr指VB程序中的實(shí)部數組;pi指VB程序中的虛部數組。

(3)void PutFullMatrix([in]BSTR Name,[in]BSTRWorkspaee,[in,out]SAFEARRAY(double)*pr,[in,out]SAFEARRAY(double)*pi):PutFullMatrix方法將一個(gè)mxArray放入指定的工作空間。各參數的含義及調用方法與GetFullMatrix方法類(lèi)似。

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 系統 應用 仿真 WEDM 調用 Matlab VB

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>