您現(xiàn)在的位置:機床商務網(wǎng)>技術(shù)中心>
VB與Matlab的混合編程
5.2 VB與Matlab的混合編程
5.2.1 VB與Matlab混合編程的優(yōu)點
Matlab是集數(shù)值分析、矩陣分析、信號處理以及圖形處理的高性能的編程軟 件,其計算以及圖形生成能力較強,但是Matlab的可視化界面功能比較弱,不 能及時的觀察由于數(shù)據(jù)的變化而導致的參數(shù)以及模型的變化,只能根據(jù)數(shù)據(jù)的變 化被動從新運行程序求取參數(shù),然后根據(jù)參數(shù)求取模型。
VB具有良好的可視化界面,且編程語言簡單,程序集中化程度高,易于初 學者學習使用。VB雖然能夠時時的觀察由于數(shù)據(jù)的變化導致參數(shù)以及圖形的改 變,但是其計算能力以及圖形處理能力較弱,對于某些復雜參數(shù)以及圖形,VB
處理起來比較費事,甚至不能夠處理。
VB與Matlab的混合編程是將VB良好的可視化界面與Matlab強大的計算 能力以及圖形能力結(jié)合起來,利用兩者的優(yōu)勢來處理相關(guān)數(shù)據(jù)。這樣既避免了 Matlab界面能力弱的問題,又同時避免了 VB計算能力以及圖形處理能力弱的問 題。兩者的結(jié)合不僅適用于處理靜態(tài)數(shù)據(jù),顯示靜態(tài)模型,還且適用于處理動態(tài) 數(shù)據(jù),時時更新動態(tài)模型。
5.2.2 VB與Matlab混合編程的方法
VB調(diào)用Matlab的方法是通過ActiveX自動化服務技術(shù)[64][65]。ActiveX是一 種開放式的標準,是Microsoft以COM為基礎的技術(shù),它允許某個應用程序或 著部件控制其他應用程序或者部件的運作。Matlab支持ActiveX自動化服務器終 端協(xié)議,可通過ActiveX自動化接口,作為VB語言中的一個ActiveX部件調(diào)用。 ActiveX部件保留了 VB中的一些普通控件的屬性、方法和事件,使程序員在設 計程序時更加靈活。
在Windows環(huán)境下,通過以下源代碼可實現(xiàn)VB與Matlab的無縫連接:
Dim Matlab As Object '定義 Matlab 對象
Set matlab = CreateObject("Matlab.Application”)'設置 Matlab 為自動化服務器 Matlab ActiveX
對象創(chuàng)建完成后,就可以在VB中對對象進行操作了。
5.2.1 VB與Matlab混合編程的流程
首先將樣本保存到text文本中,并且命名為kkx_t,在VB中通過控件以及 相應的程序可以直接調(diào)用kkx_t.text中的樣本,并將樣本顯示在用戶界面中;其 次同時用戶通過用戶界面中的控件將數(shù)據(jù)樣本以及函調(diào)命令通過ActiveX自動 化接口直接傳送給Matlab,Matlab根據(jù)傳遞過來的樣本以及函調(diào)命令直接調(diào)用 相應的.M文件,執(zhí)行相應的命令;后Matlab將運行結(jié)果通過ActiveX傳遞給 VB,并在用戶界面中顯示。
本文采摘自“加工中心盤式刀庫可靠性試驗方法研究”,因為編輯困難導致有些函數(shù)、表格、圖片、內(nèi)容無法顯示,有需要者可以在網(wǎng)絡中查找相關(guān)文章!本文由伯特利數(shù)控整理發(fā)表文章均來自網(wǎng)絡僅供學習參考,轉(zhuǎn)載請注明!
- 凡本網(wǎng)注明"來源:機床商務網(wǎng)"的所有作品,版權(quán)均屬于機床商務網(wǎng),轉(zhuǎn)載請必須注明機床商務網(wǎng),//www.467cc.cn/。違反者本網(wǎng)將追究相關(guān)法律責任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔責任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。