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

基于MATLAB與VC混編的靶彈飛行軌跡設(shè)計(jì)

2014-08-07 12:08:32原,田
微處理機(jī) 2014年4期
關(guān)鍵詞:界面程序方法

倪 原,田 華

(西安工業(yè)大學(xué)電子信息工程學(xué)院,西安710032)

基于MATLAB與VC混編的靶彈飛行軌跡設(shè)計(jì)

倪 原,田 華

(西安工業(yè)大學(xué)電子信息工程學(xué)院,西安710032)

某靶彈地面測(cè)試系統(tǒng)在參數(shù)裝訂過程中要實(shí)現(xiàn)三維軌跡顯示,通過分析MATLAB語言與VC++語言的特點(diǎn),根據(jù)MATLAB與VC++之間的接口方案,利用MATCOM將.m文件轉(zhuǎn)換為C++代碼,在VC設(shè)計(jì)的用戶界面中嵌入MATLAB圖像,實(shí)現(xiàn)三維飛行軌跡圖像顯示。

MATCOM仿真;VC環(huán)境;圖像顯示

1 引 言

為使某靶彈準(zhǔn)確的按軌跡飛行,需通過地面測(cè)試軟件來完成飛行軌跡參數(shù)設(shè)置,對(duì)輸入的數(shù)據(jù)進(jìn)行仿真和軌跡圖形顯示工作,檢測(cè)操作人員輸入數(shù)據(jù)的準(zhǔn)確性是非常必要的。本文采用MATLAB和VC混合編程的方法完成這一功能。VC提供功能強(qiáng)大的應(yīng)用程序框架MFC以及高效的編譯器、可視化的集成開發(fā)環(huán)境。然而,作為一種通用的開發(fā)平臺(tái),在使用VC開發(fā)含有大量圖像及數(shù)據(jù)處理等專業(yè)性較強(qiáng)的應(yīng)用程序時(shí),一些底層開發(fā)十分繁瑣。MATLAB是由Math Works公司于1984年推出的數(shù)值計(jì)算及圖形處理軟件,可以實(shí)現(xiàn)數(shù)值分析、優(yōu)化、統(tǒng)計(jì)、偏微分方程數(shù)值解、自動(dòng)控制、信號(hào)處理、圖像處理等若干領(lǐng)域的計(jì)算和圖形顯示功能。因此,將二者結(jié)合共用,各獻(xiàn)其長(zhǎng),可以為科研工作和工程開發(fā)提供方便。

2 Visual C++與Matlab的常用接口簡(jiǎn)介

2.1 調(diào)用Matlab引擎

MATLAB允許用戶通過MATLAB引擎調(diào)用MATLAB函數(shù),即將MATLAB作為應(yīng)用程序進(jìn)行數(shù)據(jù)計(jì)算的引擎。MATLAB提供了一系列操作MATLAB引擎的API函數(shù),通過這些API函數(shù),用戶可以充分發(fā)揮MATLAB進(jìn)行計(jì)算和圖形顯示的優(yōu)勢(shì),將應(yīng)用程序的計(jì)算和圖像顯示功能交給MATLAB引擎完成,而界面部分則可以通過VC采用C++語言來實(shí)現(xiàn)。采用這種方法幾乎能利用MATLAB的全部功能,但是需要在機(jī)器上安裝MATLAB軟件,而且執(zhí)行效率低,因此在實(shí)際應(yīng)用中不采用這種方法,在軟件開發(fā)中也不可行[1]。

2.2 調(diào)用MATLAB C++數(shù)學(xué)庫(kù)

MATLAB C++數(shù)學(xué)庫(kù)包含了約400個(gè)常用MATLAB數(shù)學(xué)函數(shù),并且其調(diào)用方式和MATLAB函數(shù)的使用習(xí)慣極其相似。對(duì)于MATLAB使用者來說,采用MATLAB C++數(shù)學(xué)庫(kù),可以使應(yīng)用程序完全脫離MATLAB的解釋環(huán)境。對(duì)于VC使用者來說,采用MATLAB C++數(shù)學(xué)庫(kù)可以充分利用MATLAB已有的矩陣運(yùn)算數(shù)學(xué)函數(shù)庫(kù),雖然用這種方法可以很靈活的調(diào)用MATLAB來編寫應(yīng)用程序,但要求讀者對(duì)C\C++語言比較熟悉,而且使用這種方法調(diào)用MATLAB的工具箱函數(shù)有一定的困難[4]。

2.3 通過COM組建調(diào)用MATLAB程序

COM(Componet Object Model)是以組件為發(fā)布單元的對(duì)象模型。由于COM是建立在二進(jìn)制級(jí)別上的范疇,所以組件對(duì)象之間的交互規(guī)范不依賴任何特定的開發(fā)語言。利用COM完成不同語言之間的協(xié)作開發(fā)是非常方便的。COM開發(fā)架構(gòu)是以組件為基礎(chǔ)的,可以把組件看做是用于“搭建”軟件的積木塊,采用這種開發(fā)模式,可以在多個(gè)不同的軟件開發(fā)項(xiàng)目中重復(fù)利用一個(gè)組件等。但是這種方法與調(diào)用MATLAB引擎、調(diào)用MATLAB C++數(shù)學(xué)庫(kù)相比,在VC中調(diào)用MATLAB生成的COM組件時(shí)客戶程序編寫的難度較高[5]。

2.4 MATCOM編譯器

MATCOM是由Mathtools公司發(fā)布的第一個(gè)MATLAB與VC混合編程的軟件,它的終極版本是MATCOM4.5,它的調(diào)試編譯環(huán)境為MIDEVA。MATCOM的編譯方法和MATLAB編譯方法相似,通過MATCOM的編譯環(huán)境將MATLAB的m文件轉(zhuǎn)換為VC可執(zhí)行文件有以下3種方法:

(1)在MIDEVA中簡(jiǎn)單設(shè)置后,可以將MATLAB生成的m源文件在MIDEVA中轉(zhuǎn)化為C++文件,然后添加到MSVC工程中。

(2)在MIDEVA編譯環(huán)境下,可以將MATLAB運(yùn)行后得到的m文件轉(zhuǎn)換為exe文件,在VC++6.0中通過Shell調(diào)用exe文件。這種方法簡(jiǎn)單容易操作,仿真圖出來之前還會(huì)出現(xiàn)控制臺(tái)窗口[3]。

(3)利用Visual MATC0M的工具條,運(yùn)行VC++6.0,選擇工具下的定制,然后選擇附加項(xiàng)和宏文件(Add-ins(.dll)),這種方法(后面詳細(xì)介紹)是MATLAB和VC混合編程的一種較簡(jiǎn)單方法,可以簡(jiǎn)單快速將MATLAB運(yùn)行后得到的m文件轉(zhuǎn)換成VC工程中可應(yīng)用的C/C++應(yīng)用程序、C、MEX、DLL,而且可以在m源文件上進(jìn)行修改,同時(shí)生成的C/C++文件也將同步修改。因此,本文中根據(jù)已知路徑點(diǎn)描繪路線仿真將采用這種方法實(shí)現(xiàn)。

3 MATCOM和VC聯(lián)合應(yīng)用程序設(shè)計(jì)

3.1 編寫程序

在VC的飛行參數(shù)裝訂界面中輸入某靶彈飛行參數(shù),并且在界面中顯示物體的運(yùn)動(dòng)三維軌跡圖,Z軸表示高度,Y軸表示物體飛行的水平距離,X軸表示物體偏離Y平面的距離。

編寫MATLAB程序[7],程序流程圖如圖1所示。

圖1 MATLAB流程圖

將程序保存為pwx2.h,在MATLAB中運(yùn)行的結(jié)果如圖2所示。

圖2 MATLAB仿真圖

在Matcom軟件中打開pwx2.h文件,編譯文件,選擇Save and compile to exe,MIDEVA會(huì)提示編譯完成,編譯后的文件保存在Matcom安裝路徑下的debug文件中,名字為“pwx2.cpp”。接下來打開Visual C++6.0建立一個(gè)基于對(duì)話框的工程,調(diào)用編譯后的文件,完成混合編程。

3.2 創(chuàng)建VC工程“Test”

運(yùn)行Visual C++6.0并創(chuàng)建Test工程,在Project name編輯框中輸入工程名“Test”,創(chuàng)建的應(yīng)用程序類型選擇為基于對(duì)話框[2]。

3.3 轉(zhuǎn)換m文件“pwx2.m”

運(yùn)行Visual C++6.0,改變文件類型為Addills(.d11),選定%MATCOM45%\bin\Mvcide.dll,單擊確定。在Visual C++6.0的界面中可以看到關(guān)于Visual MATCOM的快捷鍵,單擊Visual MATCOM工具條上的m++圖標(biāo),選擇文件名為pwx2.m的MATLAB文件進(jìn)行轉(zhuǎn)換。此時(shí)在File-View菜單中多了m-files、C++files created from m-files、MATrix<lib>和Extemal Dependencies等文件夾。在相應(yīng)的文件夾下增加pwx2.m、pwx2.h、pwx2.cpp、v4501v.1ib和matlib.h等文件,這說明pwx2.m文件轉(zhuǎn)換成功。在“pwx2.h”文件中添加頭文件#include“matlib.h”。

3.4 創(chuàng)建的對(duì)話框界面

創(chuàng)建如圖3所示的對(duì)話框界面。

圖3 對(duì)話框界面

(1)添加頭文件

#include“pwx2.h”;

#include“matlib.h”;

(2)為IDC_BUTTON1添加響應(yīng)代碼(IDC_ BUTTON1為仿真鍵的ID號(hào),程序?yàn)閙atcom安裝路徑下的debug文件中的“pwx2.cpp”)。MATCOM程序流程圖如圖4所示。

添加鍵主要完成數(shù)據(jù)的存儲(chǔ)。在對(duì)應(yīng)的編輯控件中輸入相應(yīng)的數(shù)據(jù),點(diǎn)擊添加鍵,保存相應(yīng)的數(shù)據(jù)并在列表控件中顯示。

3.5 創(chuàng)建如圖2所示的對(duì)話框界面

按一般的c++程序進(jìn)行編譯Test工程,由于pwx2.h函數(shù)定義文件是相應(yīng)的m文件轉(zhuǎn)換生成的,若pwx2.m發(fā)生修改,VC++會(huì)詢問用戶是否重新加載這個(gè)文件,此時(shí),在重新生成的pwx2.h文件中沒有包含“matlib.h”頭文件,需手動(dòng)添加,若沒有包含該文件,編譯器不能識(shí)別 m數(shù)據(jù)類型而發(fā)生錯(cuò)誤[8]。

圖4 MATCOM流程圖

3.6 執(zhí)行Test.exe

執(zhí)行Test.exe文件后,得到如圖5所示對(duì)話框。

圖5 仿真結(jié)果

4 結(jié)束語

利用VC開發(fā)軟件中VisualMATCOM的快捷鍵的方法進(jìn)行程序混編,只要在MATLAB中編寫相應(yīng)的程序,同時(shí)利用MATLAB強(qiáng)大繪圖功能,是一種簡(jiǎn)單快捷的圖像仿真嵌入的實(shí)現(xiàn)方法,對(duì)于VC++并不熟練的工程師來說是一個(gè)最佳的選擇,該程序在VC++6.0和MATLAB 6.5.1下測(cè)試通過。

[1]張宜華.精通MATLAB[M].北京:清華大學(xué)出版社,1999.

[2]KAETGREGORY.Visual C++開發(fā)使用手冊(cè)[M].北京:機(jī)械工業(yè)出版社,1998.

[3]蘇金明,劉宏,劉波.MATLAB高級(jí)編程[M].北京:電子工業(yè)出版社,2005.

[4]張志涌.精通MATLAB6.5版[M].北京:北京航空航天大學(xué)出版社,2003.

[5]董國(guó)維.深入淺出MATLAB混合編程[M].北京:機(jī)械工業(yè)出版社,2006.

[6]潘林峰,譚立超.MATLAB與VC混合編程的實(shí)現(xiàn)[J].武漢化工學(xué)院學(xué)報(bào),2003,25(4):74-75.

[7]李志明,曹杰.VC++與Matlab的混合編程[J].遙測(cè)遙控,1999,20(6):59-61.

[8]李海奎.混合編程時(shí)應(yīng)該注意到幾個(gè)問題[J].計(jì)算機(jī)應(yīng)用研究,2005(1):167-169.

Design on Target Flight Track Based on Matlab and VC Mixed Programm ing

NIYuan,TIAN Hua
(School of Electronics Information Engineering,Xi’an Technological University,Xi'an 710032,China)

In order to achieve the three-dimensional track display in the process of parameter binding in the target-missile ground test system,this paper analyzes the characteristics of the MATLAB and VC++language,according to the scheme of the interface between MATLAB and VC++,by using MATCOM converting tool to convert.m file to C++codes,and realizes the three-dimensional track display by Embedded MATLAB image in the User Interface designed by VC.

MATCOM simulation;VC enviroment;Image display

10.3969/j.issn.1002-2279.2014.04.019

TP311

:A

:1002-2279(2014)04-0059-03

倪原(1955-),男,江蘇人,碩士研究生,教授,主研方向:控制領(lǐng)域的研究工作。

2013-12-03

猜你喜歡
界面程序方法
國(guó)企黨委前置研究的“四個(gè)界面”
試論我國(guó)未決羈押程序的立法完善
基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
人機(jī)交互界面發(fā)展趨勢(shì)研究
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
手機(jī)界面中圖形符號(hào)的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 69免费在线视频| 四虎影视8848永久精品| 尤物成AV人片在线观看| 亚洲熟女中文字幕男人总站| 99re热精品视频国产免费| 精品91自产拍在线| 激情无码字幕综合| 国产成人毛片| 国产农村妇女精品一二区| 极品私人尤物在线精品首页| 亚洲人成日本在线观看| 亚洲国产日韩视频观看| 久久综合色天堂av| 色综合中文综合网| 国产成人凹凸视频在线| 亚洲第一黄色网| 国产97视频在线观看| 国禁国产you女视频网站| 国产日本一线在线观看免费| 国产呦精品一区二区三区下载 | 欧美色视频在线| 欧美成人精品一级在线观看| 国产免费久久精品99re丫丫一| 波多野结衣一二三| 国产成人精品高清在线| 精品亚洲国产成人AV| 亚洲欧美成人影院| 在线观看热码亚洲av每日更新| 色综合激情网| 欧美激情成人网| 99热最新在线| 亚洲一区二区成人| 欧美日韩午夜| 欧美成人手机在线观看网址| 精品一区二区三区中文字幕| 国产剧情国内精品原创| 99re在线观看视频| 国产精品区视频中文字幕| 日韩精品毛片| 亚洲精品黄| 这里只有精品在线播放| 2021国产精品自产拍在线| 在线人成精品免费视频| 国产永久在线观看| 亚洲人精品亚洲人成在线| 欧美成a人片在线观看| 欧美伊人色综合久久天天| 日韩欧美国产综合| 人人看人人鲁狠狠高清| 国产一级在线播放| 欧美一级高清视频在线播放| 玩两个丰满老熟女久久网| 婷婷五月在线视频| jizz在线观看| 欧美日韩国产在线播放| 国产真实乱人视频| 亚洲精品日产精品乱码不卡| 性欧美在线| 女人一级毛片| 欧美啪啪视频免码| 在线日韩日本国产亚洲| 久久一本日韩精品中文字幕屁孩| 毛片网站在线播放| 亚洲精品无码不卡在线播放| 色窝窝免费一区二区三区| 天堂成人av| 一本大道香蕉中文日本不卡高清二区| 精品一区二区三区波多野结衣| 国产三区二区| 久久99国产综合精品女同| 国产精品3p视频| 国产 日韩 欧美 第二页| 激情爆乳一区二区| 国产网站一区二区三区| 亚洲欧美另类视频| 91国内视频在线观看| 成人国产精品一级毛片天堂 | 婷婷99视频精品全部在线观看 | 国产成人一二三| 婷婷在线网站| 国产福利在线观看精品| 青青草原国产一区二区|