999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MATCOM的MATLAB與VC++之間的混合編程

2012-09-12 03:22:46高秋燕
電子測試 2012年11期
關鍵詞:按鈕界面環境

高秋燕

(中北大學 信息與通信工程學院, 山西太原 030051)

0 引言

MATLAB是一個高效、完整的數學平臺,它是一個高度集成的語言環境,在它的界面下可以獨立編程、運行和調試,同時MATLAB本身對程序編寫也存在一些局限,使得它在很多情況下不夠靈活,運行速度不夠快。而且,用戶必需在安裝有MATLAB系統的機器上使用.m文件,這樣就給工程計算帶來了很大不便,在處理一些實際應用問題時顯得靈活性不足[1-2]。再就是MATLAB程序可被直接看到源代碼,因而算法和數據的保密性不好。

微軟公司開發的Visual C++具有強大的可視化集成編程環境,用它開發的系統具有界面友好、代碼效率高和執行速度快等優點,集成了功能強大的編輯器、編譯器、連接器和調試器等多種多樣的可視化編程工具,而且可以利用MFC編程漂亮的界面進行控制。是目前綜合性最高、最強大、也是最復雜的軟件開發工具之一,應用極為廣泛。因此利用MATCOM將兩者結合起來效果會很好,MATCOM與VC++具有良好的接口,只要包含必要的庫文件和頭文件即可實現對MATLAB的.m文件轉化,使之轉化成C++代碼,而無需運行MATLAB,來進行混合編程研究,運行速度非常快[3]。

1 MATLAB,MATCOM與VC++特點

1.1 MATLAB的特點

美國Mathworks公司開發的MATLAB已成為一個國際公認的優秀的科技應用軟件,使用廣泛,可以實現數值分析、優化、統計、偏微分方程數值解、自動控制、計算機仿真、數字信號處理、圖像處理等若干領域的計算和圖形顯示功能[4]。命令語句功能非常強大,包含了大量高度集成的函數可供直接調用,用戶無需具有高深的數學知識和程序設計能力,也不必深入了解算法及編程技巧,但又允許用戶自行建立指定功能的m文件,極易擴展。隨著MATLAB的廣泛使用,還出現了為各個領域專門使用的工具箱函數,這些工具箱的出現使MATLAB的功能更強大。然而,MATLAB所固有的某些缺陷,諸如解釋性語言的低執行效率,局限于MATLAB運行環境而不利于商業開發,以及源代碼的公開而不利于算法與數據的保密性等等,都限制了MATLAB的推廣應用[5]。

1.2 VC++的特性

Visual C++自從誕生以來,一直是Window環境下最主要的應用開發系統,它是與Win32緊密相連的C++語言的集成開發環境[6]。從底層軟件直到上層直接面向用戶的軟件都可以用VC++來完成開發,而且VC++強大的調試功能也為大型復雜軟件的開發提供了有效的排錯手段,可以利用MFC設計漂亮的界面,與用戶直接接觸,這種VC++開發的系統具有容易維護和升級、界面友好、代碼效率高、執行速度快等一系列優點[7]。

1.3 基于MATCOM的MATLAB和VC++的結合

MATCOM是Mathworks公司推出的由MATLAB 到C++編譯開發軟件平臺,MATCOM的集成調試編譯環境是MIDEVA,是可視化的界面。使用MATCOM編譯器可以將MATLAB源代碼譯成同等功能的C++代碼,它既保持了MATLAB的優良算法,又提高了執行速度[8]。而且它還支持一定的圖形顯示,生成代碼的可讀性好,其具有簡單便捷、功能強大、靈活應用的特點。在安裝MATCOM之前,必須先安裝好MATLAB和Visual C++,如果安裝成功,在VC++的開發環境的工具欄上會出現圖1所示的工具條。

圖1 Visual Matcom工具條

2 接口實現

以一個卡爾曼濾波器為例,通過MATCOM45實現.m文件到C++代碼的轉換。

2.1 建立.m文件

啟動MIDEVA,然后打開File再打開New,新建kalman.m文件,是一個卡爾曼濾波器的程序,如圖2所示。此時將.m文件保存到matcom45Debug目錄下即可。

圖2 kalman.m文件

2.2 將.m文件轉換成C++代碼

(1)在VC中用MFC AppWizard(exe)創建一個基于對話框工程,工程名字為:Test,然后在對話框上添加一個按鈕,按鈕的ID為IDC_DRAW,Caption為繪圖,添加繪圖后的對話框界面如圖3所示。

圖3 添加繪圖按鈕后的對話框界面

(2)此時,點擊圖1所示的第一個按鈕,就可以對kalman.m進行m文件進行轉換。然后把kalman.cpp的內容拷貝到void CTestDlg::OnDraw()中。

(3)將 C:matcom45lib下的matlib.h和v4501v.lib文件和C:matcom45debug下的kalman.h文件拷貝到工程Test目錄下,然后在VC中將庫文件和頭文件加入到工程中:工程->添加工程->Files,選擇剛剛拷貝到Test目錄下的matlib.h、v4501v.lib和Test.h文件。轉化后生成的工程文件如圖4所示。

圖4.m文件轉換后生成的工程文件

2.3 界面如何顯示

(1)在TestDlg.cpp中加入如下代碼:#include"matlib.h" 和#include "kalman.h"

(2) 在 void CTestDlg::OnDraw()中 分 別 添加一個初始化類庫調用函數”initM(MATCOM_VERSION)”和一個結束類庫調用函數”exitM()”如圖5所示。

圖5 給按鈕添加的代碼

(3)點擊圖3中的繪圖按鈕,得到濾波曲線如圖6所示:一個濾波前的圖形,一個濾波后的圖形。

圖6 運行結果

3 結論

MATCOM提供了MATLAB中.m文件與其他高級語言的接口,使復雜的接口變得非常簡單,并且使.m文件可以編譯為脫離MATLAB環境獨立執行的可執行性程序,這樣提高了代碼的復用率,提高了代碼的執行速度,使純文本的.m文件變為二進制的可執行程序,增加了知識保護的安全性。本文通過對實例的分析研究,從中感受到兩者結合進行混合編程d的靈活和很好的可操作性,使用這種方法來提高了程序編寫的效率,取得了非常好的效果。

[1]譚志芳,劉一峰,賈小鐵.MATLAB 與C/C+ +語言混合編程的幾種方法[J].微型機與應用,2001(2):8-10.

[2]李文煜.VC與Matlab混合編程實現圖像處理[J].計算機仿真,2005,22(1):254-257.

[3]石波,陳淑珍,沈海鷗.VC與MATLAB接口方法的剖析[J].計算機工程,2000,26(3):98-100.

[4]郭虹,薄云飛,林冬.VC++與MATLAB 混合編程技術研究[J].計算機工程,2002,28(9):269-271.

[5]李天昀,葛臨東.綜述MA TLAB 與VC+ + 的交互編程[J].計算機仿真,2004,21(9):193-196.

[6]黃金明,武玉強,邢西深.VC++與MATLAB的混合編程研究[J].電腦開發與應用,2008,21(10):38-41.

[7]王周益,劉繼興,柳長安.VC++與MATLAB 混合編程研究及開發實例[J].計算機應用研究,2006,(5):154-156.

[8]李云龍,唐六丁,鄧四二,等.基于 VC + +與MATLAB 混合程序設計與應用[J].河南科技大學學報:自然科學版,2008,9(4):50-51.

猜你喜歡
按鈕界面環境
這些按鈕能隨便按嗎?
當你面前有個按鈕
長期鍛煉創造體內抑癌環境
一種用于自主學習的虛擬仿真環境
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
孕期遠離容易致畸的環境
環境
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 成人毛片在线播放| 激情网址在线观看| 九九九精品视频| 成人福利在线免费观看| 啦啦啦网站在线观看a毛片 | 四虎成人免费毛片| 国产白浆一区二区三区视频在线| 精品日韩亚洲欧美高清a| 自拍偷拍欧美| 国产精品网拍在线| 亚洲综合天堂网| 亚洲天堂网视频| www.91中文字幕| 波多野结衣中文字幕久久| 国产导航在线| 国产麻豆精品手机在线观看| 欧美激情综合一区二区| 亚洲a免费| 97精品伊人久久大香线蕉| 免费无码AV片在线观看中文| 国产精品视频公开费视频| 亚洲网综合| 国产情精品嫩草影院88av| 久久久无码人妻精品无码| a级免费视频| 亚洲无线一二三四区男男| 亚洲αv毛片| 国产视频资源在线观看| 亚洲系列中文字幕一区二区| 欧美a级在线| 午夜一区二区三区| 激情视频综合网| 欧美a级完整在线观看| 亚洲天堂免费| 久久91精品牛牛| 国产成人做受免费视频| 91免费国产高清观看| 一本综合久久| 免费国产小视频在线观看| 手机成人午夜在线视频| 熟妇丰满人妻| 91亚洲免费视频| 国产自在线播放| 熟女成人国产精品视频| 在线观看av永久| www欧美在线观看| 婷婷亚洲视频| 国产一区二区影院| 国产成人精彩在线视频50| 亚洲女人在线| 中文字幕亚洲无线码一区女同| 国产欧美在线观看一区| 久久a级片| 国产精品免费露脸视频| 欧美午夜网站| 日本午夜精品一本在线观看| 思思热在线视频精品| 国内精品自在欧美一区| 天天摸夜夜操| 久久中文电影| 538精品在线观看| 国产成人精品免费av| 手机在线国产精品| 国产xx在线观看| 麻豆精品视频在线原创| 久久亚洲美女精品国产精品| 国产乱子伦视频在线播放| 国产电话自拍伊人| 国产黄色爱视频| 亚洲 成人国产| 亚洲欧洲日产无码AV| 免费观看国产小粉嫩喷水 | 伊人精品成人久久综合| 国产亚洲精品无码专| 麻豆AV网站免费进入| 日本精品视频| 青青操国产视频| 在线观看亚洲人成网站| 成人福利免费在线观看| 亚洲三级电影在线播放| 69视频国产| 中文字幕在线日韩91|