国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

vc++與MATLAB開發(fā)駕駛模擬控制系統(tǒng)

2010-10-17 11:04鑫,馬
科技傳播 2010年9期
關(guān)鍵詞:葫蘆島遼寧編程

王 鑫,馬 丁

1.91245部隊,遼寧葫蘆島 125001

2.91851部隊,遼寧葫蘆島 125001

vc++與MATLAB開發(fā)駕駛模擬控制系統(tǒng)

王 鑫1,馬 丁2

1.91245部隊,遼寧葫蘆島 125001

2.91851部隊,遼寧葫蘆島 125001

本文在介紹了VC++與MATLAB編程方法的基礎(chǔ)上,開發(fā)了駕駛模擬控制系統(tǒng)仿真實例,詳細(xì)描述了其具體的實現(xiàn)過程。

VC++;MATLAB;駕駛模擬;控制系統(tǒng)

0 引言

MATLAB是比較流行的三大數(shù)學(xué)軟件之一。它在數(shù)學(xué)應(yīng)用類軟件中數(shù)值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其它編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。

MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,F(xiàn)ORTRAN等語言完成相同的事情簡捷得多,并且mathwork也吸收了像Maple等軟件的優(yōu)點,使MATLAB成為一個強大的數(shù)學(xué)軟件。在新的版本中也加入了對C,F(xiàn)ORTRAN,C++ ,JAVA的支持??梢灾苯诱{(diào)用,用戶也可以將自己編寫的實用程序?qū)氲組ATLAB函數(shù)庫中方便自己以后調(diào)用。本文主要闡述MATLAB結(jié)合vc++可視化編程軟件開發(fā)駕駛模擬控制系統(tǒng)。

1 MATLAB 與VC++ 接口配置

在VC環(huán)境中編寫應(yīng)用程序界面調(diào)用加載MATLAB動態(tài)鏈接庫,實現(xiàn)兩者合作開發(fā)應(yīng)用程序。該種方法的配置步驟:

1)首先在MATLAB命令提示符下輸入mbuild-setup 命令,選擇visual C++6.0編譯器完成編譯器設(shè)置;

2)設(shè)定頭文件和庫文件路徑。在VC++環(huán)境設(shè)置包含文件,將MATLAB6.5中的msvc++6.0添加進去。然后以同樣的方法添加MATLAB6.5的包含文件;

3)設(shè)置編譯連接選項。在VC++環(huán)境菜單欄中選擇Project->setting,然后選擇link選項卡,在object/library modules欄中添加mclmcrrt.lib libtest.lib;選擇General選項卡,在Microsoft Foundation Classes欄中選擇Use MFC in a Shared Library。

2 程序結(jié)構(gòu)及功能簡介

模擬控制系統(tǒng)是以仿真的方法實現(xiàn)各種功能,這也是目前國內(nèi)汽車生產(chǎn)研究的普遍方法,同時仿真的結(jié)果也為駕駛員提供十分接近于現(xiàn)實中的訓(xùn)練效果。模擬控制系統(tǒng)利用計算機的計算功能和可視化手段模擬駕駛的動態(tài)特性,從而解決駕駛員直接操作實體可能造成的事故和不必要的損失

3 模擬控制系統(tǒng)實現(xiàn)

完成MATLAB與VC++接口環(huán)境配置后,就可以按照以上步驟實現(xiàn)駕駛類功能函數(shù)的實現(xiàn)。

1)在MATLAB環(huán)境下編寫油門控制函數(shù),假定該M文件為increase.m,作用是控制油門的大小。程序如下:double CDriveMode::Youmen(void)∥油門轉(zhuǎn)換檢測函數(shù)

2)利用mcc-t-W lib: increaseDLL-T link: lib increaselibmmfile.mlib編譯命令將increase.m文件編譯成C代碼。將生成后的increaseDLL. dl,l increaseDLL. h, increaseDLL. lib 文 件 拷 貝 到VC++ 6. 0所在的工程目錄下。

3)對increaseDLL. h進行一些修改,在#ifdef __cplusplus與#endif之間加入‘extern "C" {’,在#ifdef __cplusplus與#en-dif之間加入‘}’。

4)在VC++ 6. 0工程中引入頭文件: #include " in-creaseDLL.h"。

5)在工程→添加工程→Files中添加increaseDLL. h和increaseDLL. cpp。

6)在工程→Project Settings→Link→General→對象/庫模塊中添加increaseDLL. lib。

7)在構(gòu)造函數(shù)中加入increaseDLLInitialize();初始化由M文件編譯過來的動態(tài)鏈接庫。在析構(gòu)函數(shù)中加入increaseDLLTerminate();釋放系統(tǒng)資源。

4 結(jié)論

本文在軟件開發(fā)過程中,采用基于MCC接口編程方法實現(xiàn)vc++與MATLAB結(jié)合,具有實現(xiàn)簡單、執(zhí)行效率高的特點,是開發(fā)接口程序的有效方法??梢詾楣こ坛绦虻拈_發(fā)提供很好的技術(shù)支持。

[1] 孫鑫.精通VisualC++深入詳解[M].北京:電子工業(yè)出版社,2006.

[2] 蘇金明. MATLAB高級編程[M].北京:電子工業(yè)出版社,2005:215-220.

TP272,TP31

A

1674-6708(2010)18-0126-01

猜你喜歡
葫蘆島遼寧編程
◆其它
◆ 其它
遼寧之光
編程,是一種態(tài)度
元征X-431實測:奔馳發(fā)動機編程
編程小能手
讀遼寧 愛遼寧
讀遼寧 愛遼寧
儀表
紡織機上誕生的編程
贺兰县| 平利县| 磴口县| 东阿县| 舒兰市| 宾川县| 柘城县| 南投县| 合江县| 西青区| 东源县| 城步| 饶阳县| 高碑店市| 洪湖市| 黔东| 平定县| 阿拉善右旗| 卓尼县| 合作市| 淳化县| 射洪县| 郧西县| 勃利县| 沙田区| 鹤山市| 如东县| 黔西| 湘阴县| 任丘市| 神农架林区| 富裕县| 丰镇市| 沅陵县| 元氏县| 竹山县| 云阳县| 景宁| 和静县| 攀枝花市| 达孜县|