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
主站蜘蛛池模板: 亚洲第一天堂无码专区| 91视频区| 久久伊人操| 国产极品美女在线观看| 国产男人的天堂| 女人18毛片久久| 尤物精品国产福利网站| 国产成人精品男人的天堂| 日本亚洲国产一区二区三区| 激情爆乳一区二区| 熟妇无码人妻| 国产福利一区在线| 亚洲欧洲日产国产无码AV| 国产精品第5页| 亚洲精品在线观看91| 国产无码精品在线播放| 亚洲av无码专区久久蜜芽| 爽爽影院十八禁在线观看| 超碰91免费人妻| 免费毛片网站在线观看| 日本三级精品| 亚洲欧美日韩高清综合678| 波多野结衣一区二区三视频 | WWW丫丫国产成人精品| 国产精品永久免费嫩草研究院| 欧美成人日韩| 91久久性奴调教国产免费| yjizz国产在线视频网| 天天爽免费视频| 无码国产偷倩在线播放老年人| 国产精品冒白浆免费视频| 午夜国产理论| 亚洲欧美综合另类图片小说区| 国产成人高清精品免费| 成人国产精品网站在线看| 亚洲国产欧洲精品路线久久| 91亚洲免费| 久久黄色一级片| 亚洲无码37.| 99热这里只有免费国产精品| 久久先锋资源| 青青久久91| 2020亚洲精品无码| 好吊妞欧美视频免费| 一本无码在线观看| 国产成人啪视频一区二区三区 | 不卡网亚洲无码| 欧美一级夜夜爽www| 国产人人干| 乱码国产乱码精品精在线播放| 国产一区在线观看无码| 99久久国产综合精品女同| 久久夜色精品国产嚕嚕亚洲av| 日本高清视频在线www色| 无码精油按摩潮喷在线播放 | 欧美另类精品一区二区三区| 国产噜噜在线视频观看| 欧美日韩国产系列在线观看| AV无码一区二区三区四区| 日日拍夜夜嗷嗷叫国产| 久久精品中文字幕免费| 九九热免费在线视频| www精品久久| 老司机久久99久久精品播放| 欧美va亚洲va香蕉在线| 毛片视频网| 亚洲欧美日韩另类在线一| 九九精品在线观看| 国内精品免费| 98精品全国免费观看视频| 国产成人精品日本亚洲| 欧美日本在线一区二区三区| 国产精品欧美日本韩免费一区二区三区不卡| 一本综合久久| 日韩中文欧美| a亚洲视频| 国产精品熟女亚洲AV麻豆| 色视频久久| 久久精品国产91久久综合麻豆自制| 91色老久久精品偷偷蜜臀| 国内精品久久人妻无码大片高| 四虎永久在线精品影院|