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

基于MATLAB與VC混編的靶彈飛行軌跡設計

2014-08-07 12:08:32原,田
微處理機 2014年4期
關鍵詞:界面程序方法

倪 原,田 華

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

基于MATLAB與VC混編的靶彈飛行軌跡設計

倪 原,田 華

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

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

MATCOM仿真;VC環境;圖像顯示

1 引 言

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

2 Visual C++與Matlab的常用接口簡介

2.1 調用Matlab引擎

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

2.2 調用MATLAB C++數學庫

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

2.3 通過COM組建調用MATLAB程序

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

2.4 MATCOM編譯器

MATCOM是由Mathtools公司發布的第一個MATLAB與VC混合編程的軟件,它的終極版本是MATCOM4.5,它的調試編譯環境為MIDEVA。MATCOM的編譯方法和MATLAB編譯方法相似,通過MATCOM的編譯環境將MATLAB的m文件轉換為VC可執行文件有以下3種方法:

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

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

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

3 MATCOM和VC聯合應用程序設計

3.1 編寫程序

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

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

圖1 MATLAB流程圖

將程序保存為pwx2.h,在MATLAB中運行的結果如圖2所示。

圖2 MATLAB仿真圖

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

3.2 創建VC工程“Test”

運行Visual C++6.0并創建Test工程,在Project name編輯框中輸入工程名“Test”,創建的應用程序類型選擇為基于對話框[2]。

3.3 轉換m文件“pwx2.m”

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

3.4 創建的對話框界面

創建如圖3所示的對話框界面。

圖3 對話框界面

(1)添加頭文件

#include“pwx2.h”;

#include“matlib.h”;

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

添加鍵主要完成數據的存儲。在對應的編輯控件中輸入相應的數據,點擊添加鍵,保存相應的數據并在列表控件中顯示。

3.5 創建如圖2所示的對話框界面

按一般的c++程序進行編譯Test工程,由于pwx2.h函數定義文件是相應的m文件轉換生成的,若pwx2.m發生修改,VC++會詢問用戶是否重新加載這個文件,此時,在重新生成的pwx2.h文件中沒有包含“matlib.h”頭文件,需手動添加,若沒有包含該文件,編譯器不能識別 m數據類型而發生錯誤[8]。

圖4 MATCOM流程圖

3.6 執行Test.exe

執行Test.exe文件后,得到如圖5所示對話框。

圖5 仿真結果

4 結束語

利用VC開發軟件中VisualMATCOM的快捷鍵的方法進行程序混編,只要在MATLAB中編寫相應的程序,同時利用MATLAB強大繪圖功能,是一種簡單快捷的圖像仿真嵌入的實現方法,對于VC++并不熟練的工程師來說是一個最佳的選擇,該程序在VC++6.0和MATLAB 6.5.1下測試通過。

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

[2]KAETGREGORY.Visual C++開發使用手冊[M].北京:機械工業出版社,1998.

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

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

[5]董國維.深入淺出MATLAB混合編程[M].北京:機械工業出版社,2006.

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

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

[8]李???混合編程時應該注意到幾個問題[J].計算機應用研究,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-),男,江蘇人,碩士研究生,教授,主研方向:控制領域的研究工作。

2013-12-03

猜你喜歡
界面程序方法
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
人機交互界面發展趨勢研究
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 91精品国产一区自在线拍| 亚洲第一视频免费在线| 亚洲色图欧美在线| 91无码视频在线观看| 欧美成人免费午夜全| 国产xx在线观看| 伊人成人在线| 毛片视频网址| 国产精品xxx| 国产成人精品2021欧美日韩| 久久不卡国产精品无码| 亚洲日韩每日更新| 日韩欧美国产三级| 永久在线精品免费视频观看| 男女性色大片免费网站| 全裸无码专区| 国产在线麻豆波多野结衣| 欧美日韩国产成人在线观看| 久久综合结合久久狠狠狠97色| 中国精品久久| 亚洲欧洲日韩综合| 99久久国产综合精品女同| 在线网站18禁| 精品国产成人三级在线观看| 2021精品国产自在现线看| 一本久道久综合久久鬼色| 无码人中文字幕| 国产尤物在线播放| 3p叠罗汉国产精品久久| 依依成人精品无v国产| 亚洲va视频| 亚洲一区无码在线| 亚洲专区一区二区在线观看| 美女潮喷出白浆在线观看视频| 中文字幕在线看视频一区二区三区| 国产精品亚洲欧美日韩久久| 午夜国产不卡在线观看视频| 久久性妇女精品免费| 久久青青草原亚洲av无码| 动漫精品啪啪一区二区三区| 亚洲精品国产成人7777| 爆乳熟妇一区二区三区| 无码久看视频| a级毛片网| 亚洲综合网在线观看| 欧美有码在线观看| 99资源在线| 国产毛片一区| 日韩在线播放中文字幕| 国产在线精彩视频二区| 日韩精品成人网页视频在线 | 国产精品亚洲一区二区三区z| 国产va免费精品| 91精品啪在线观看国产60岁| 57pao国产成视频免费播放| 无码 在线 在线| 在线免费看片a| a级毛片免费播放| 国精品91人妻无码一区二区三区| 国产午夜一级毛片| 国产97区一区二区三区无码| 操美女免费网站| 精品午夜国产福利观看| 亚洲欧美成人影院| 97国产精品视频自在拍| 91精品国产福利| 四虎影视永久在线精品| 99精品一区二区免费视频| 毛片一区二区在线看| 日本久久免费| 色婷婷久久| 亚洲女同一区二区| 久久久波多野结衣av一区二区| 中文字幕免费视频| a级高清毛片| 欧美国产三级| 日本一区二区三区精品国产| 精品国产黑色丝袜高跟鞋| 欧美啪啪一区| 亚洲欧洲美色一区二区三区| 日韩无码黄色网站| 九九久久精品免费观看|