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

?

Matlab與VC++、Oracle數(shù)據(jù)庫接口技術(shù)研究及實現(xiàn)

2014-02-28 07:50:34池興穎
遵義師范學(xué)院學(xué)報 2014年4期
關(guān)鍵詞:接口技術(shù)調(diào)用編程

袁 勇,池興穎

(遵義師范學(xué)院網(wǎng)絡(luò)管理中心,貴州遵義563000)

Matlab與VC++、Oracle數(shù)據(jù)庫接口技術(shù)研究及實現(xiàn)

袁 勇,池興穎

(遵義師范學(xué)院網(wǎng)絡(luò)管理中心,貴州遵義563000)

Matlab將高性能的數(shù)值計算、符號計算和可視化集成一體,并有豐富的工具箱,使用方便,編程高效;VC++是基于Windows平臺的可視化集成開發(fā)環(huán)境,功能強大;Oracle數(shù)據(jù)庫是目前最流行的數(shù)據(jù)庫軟件產(chǎn)品之一,具有完整的數(shù)據(jù)管理功能。Matlab與VC++、Oracle數(shù)據(jù)庫接口實現(xiàn),可以取長補短,發(fā)揮各自的優(yōu)勢,為編程人員帶來諸多便利。

Matlab;VC++;Oracle數(shù)據(jù)庫;接口技術(shù)

Matlab是美國MathWorks公司研發(fā)的一種科學(xué)計算軟件,它將高性能的數(shù)值計算、符號計算和可視化集成在一起,并提供大量的內(nèi)置函數(shù)及功能豐富的工具箱,使用方便,編程效率高。然而,Matlab是一種解釋性語言,運行效率低,不適合作為通用的編程平臺。VC++是 Microsoft公司推出的一個基于Windows平臺的可視化的集成開發(fā)環(huán)境,在運行速度、功能性以及應(yīng)用程序界面開發(fā)方面功能強大,但在數(shù)值計算和圖形繪制方面,VC++并不具備太多優(yōu)勢。Oracle是美國Oracle公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。

實現(xiàn)Matlab與VC++接口技術(shù),可以提高編程效率。實現(xiàn)Matlab與Oracle數(shù)據(jù)庫接口技術(shù),可以將數(shù)據(jù)庫中的數(shù)據(jù)可視化地顯示出來,使數(shù)據(jù)更形象化的展示給用戶,為數(shù)據(jù)使用人員帶來便利。

1 Matlab與VC++接口技術(shù)研究及實現(xiàn)

1.1 Matlab與VC++接口技術(shù)研究

Matlab與 VC++連接方式主要有三種:通過Matlab引擎的方式;Matlab編譯器(MCC);調(diào)用COM組件實現(xiàn)[1]。

Matlab引擎采用客戶機/服務(wù)器 (Client/Server)的方式,提供了一組MATAB API函數(shù),通過調(diào)用這些函數(shù)實現(xiàn)應(yīng)用程序進程之間的數(shù)據(jù)傳遞。MCC是Matlab中經(jīng)過優(yōu)化的編譯器,用戶可以將Matlab數(shù)學(xué)庫、圖形庫和界面的Matlab程序轉(zhuǎn)化為獨立于Matlab的EXE應(yīng)用程序和DLL動態(tài)連接庫,在VC中編寫程序界面并加載調(diào)用動態(tài)連接庫,實現(xiàn)兩者之間的連接。COM(Component Object Model),即組件對象模型,它是一個開放的組件標(biāo)準(zhǔn),有相當(dāng)強的擴充與擴展能力。COM規(guī)范了對象模型和編程要求,使得COM對象可以和其他對象之間相互操作。用COM規(guī)范定義的組件模型除了具有基本的面向?qū)ο筇匦匀绶忾]、多態(tài)性等特點外,基于COM的混合編程方法也是Mathworks公司推薦使用的方法。

1.2 基于COM的Matlab與VC++接口實現(xiàn)

用COM組件的方式實現(xiàn)VC++與Matlab的混合編程技術(shù)。其具體步驟如下:

(1)編寫能在Matlab平臺下運行的相關(guān)m函數(shù)文件。

function test_huatu()//繪制[-10,10]區(qū)間的sin函數(shù)

(2)在Matlab6.5的Command Window中輸入comtool命令,即可出現(xiàn)COM編輯界面,如圖1所示。

圖1 COM編輯界面

(3)建立工程,在COM編輯界面中。選擇File—〉New Project,彈出圖2的工程設(shè)置界面;在設(shè)置界面的“Component name”項中填寫組件名稱“component”,這時候會自動生成類,將自動生成類選中并Remove掉。在“Classname”項中填寫類名稱“test_ huatu”,然后將test_huatu類添加,并在Compileroptions中將Builddebugversion和Showverboseoutput勾選。

圖2 COM工程設(shè)置圖

(4)給工程添加文件,選中COM編輯界面中的test_huatu工程,點擊上面的AddFile,并將已經(jīng)寫好的名為“test_huatu”的m函數(shù)添加進來。

(5)生成COM組件。在編輯框中點擊Build—〉COMObject,出現(xiàn)如圖3所示,即為組件生成成功。

圖3 組件構(gòu)建成功圖

(6)VC調(diào)用生成的COM組件。

1)在VC中建立名為test的基于對話框的MFC (exe)工程,并在該工程對話框中添加按鈕。

2)將 component_idl.h、component_idl_i.c和mwcomtypes.h文件拷貝到VC建立的工程test目錄下。前兩個是COM組件編譯時生成的,最后一個在 Matlab安裝路徑中(D:MATLAB6p5externinclude)。

3)將上面三個文件加入工程:工程-〉添加工程-〉Files,選擇剛剛拷到目錄下的 component_idl.h、 component_idl_i.c和mwcomtypes.h三個文件,并為程序添加頭文件component_idl.h和mwcomtypes.h。

4)設(shè)置預(yù)編譯頭文件:工程-〉設(shè)置,選擇C/C++項precomplied Headers/M自動使用預(yù)補償頁眉。

5)為相應(yīng)的菜單添加函數(shù)代碼,就可以在VC中調(diào)用相應(yīng)的Matlab程序。下面給出其示

hr=pImyclass-〉test_huatu();

6)最終通過調(diào)用com組件繪制圖形(如圖4)。

圖4 繪制sin曲線圖

2 Matlab連接Oracle數(shù)據(jù)庫接口技術(shù)研究及實現(xiàn)

2.1 Matlab連接Oracle數(shù)據(jù)庫接口技術(shù)研究

Matlab連接Oracle數(shù)據(jù)庫的方式有兩種,通過ODBC或者JDBC連接到數(shù)據(jù)庫。此處,我們只討論通過ODBC連接到Oracle數(shù)據(jù)庫。通過Matlab讀取Oracle數(shù)據(jù)庫中的數(shù)據(jù),并繪圖。為了滿足實驗需求,首先在Oracle數(shù)據(jù)庫的scott用戶下建立測試用表matora.

然后向matora表中插入數(shù)據(jù){(1,1);(2,4);(3,9); (4,16);(5,25)}。

2.2 通過ODBC實現(xiàn)Matlab與Oracle數(shù)據(jù)庫的連接

(1)在Windows下“開始”→“控制面板”→“管理工具”→“數(shù)據(jù)源(ODBC)”

(2)選擇“用戶DSN”→“添加”→選擇“Oraclein OraDb10g_home1”,點擊“完成”。

(3)在Oracle ODBC Driver Configuration中將Data Source Name設(shè)置為test。

(4)在Matlab中建立到Oracle的連接測試。

conn=database('test','scott','123456');(回車即可)//scott為數(shù)據(jù)庫用戶,123456為修改后的scott用戶的密碼。

3 總結(jié)

Matlab與VC++、Oracle數(shù)據(jù)庫各有優(yōu)勢,將它們的優(yōu)勢整合,規(guī)避弱點,在編程開發(fā)過程中將更為高效,從而節(jié)約人力、財力。本文以Matlab7.0與VC+ +6.0、Oracle10G為環(huán)境,研究了Matlab與VC及Or-acle的接口技術(shù),并進行了實現(xiàn),為使用Matlab與VC++、Oracle數(shù)據(jù)庫聯(lián)合開發(fā)的軟件開發(fā)人員提供一些編程參考,進而充分利用Matlab軟件的優(yōu)勢來提高編程效率。

圖5 matlab調(diào)用Oracle中數(shù)據(jù)繪制y=x2函數(shù)圖

[1]岳玉芳,尤忠生,張玉雙.基于COM的VC與Matlab混合編程[J].微機發(fā)展,2005,15(5):46-48.

[2]李芳,徐麗.基于COM組件的Matlab7_x與VC_6_0接口技術(shù)及實際應(yīng)用[J].計算機應(yīng)用與軟件,2009,26(2):131-134.

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

[4]王彬,代彥波,顏鵬博.Oracle10g簡明教程[M].北京:清華大學(xué)出版社,2006.

(責(zé)任編輯:朱 彬)

the Researches and Realization of Interfacing of Matlab and VC++and Oracle Data

YUAN Yong,CHI Xing-ying
(Network Management Center,Zunyi Normal College,Zunyi 563000,China)

Matlab,an integration of numerical computing,symbolic computation and visualization,has a rich toolbox which is easy to use and efficient in programming;VC++,a visually integrated development environment,is based on the Windows platform and very powerful;Oracle database,one of the most popular database products,is possessed of full data management capabilities.And the realization of interfacing of Matlab and VC++and Oracle Data can complement each other and bring each other’s superiority into full play, thus bring more conveniences to programmers.

Matlab;VC++;Oracle data;interfacing

TP311

A

1009-3583(2014)-0072-04

2014-04-22

袁 勇,男,貴州遵義人,遵義師范學(xué)院網(wǎng)絡(luò)管理中心網(wǎng)絡(luò)工程師,碩士,研究方向:數(shù)字優(yōu)化仿真技術(shù)及應(yīng)用。

猜你喜歡
接口技術(shù)調(diào)用編程
編程,是一種態(tài)度
少先隊活動(2021年2期)2021-03-29 05:41:04
元征X-431實測:奔馳發(fā)動機編程
編程小能手
紡織機上誕生的編程
核電項目物項調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
電力系統(tǒng)全網(wǎng)一體化暫態(tài)仿真接口技術(shù)
電子制作(2018年14期)2018-08-21 01:38:28
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
中文GIS自然語言接口技術(shù)研究
天地一體化網(wǎng)絡(luò)和空中接口技術(shù)研究
凌云县| 剑川县| 蛟河市| 临安市| 高安市| 健康| 通海县| 惠州市| 鸡东县| 长寿区| 含山县| 重庆市| 襄汾县| 桐城市| 江北区| 东莞市| 泗水县| 平舆县| 万山特区| 吉林省| 兴安盟| 安平县| 镇原县| 梅州市| 庆元县| 衡水市| 定西市| 中山市| 如皋市| 沙田区| 花垣县| 浮山县| 红安县| 循化| 贵港市| 松溪县| 高陵县| 昌江| 东乡族自治县| 米林县| 宜川县|