• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2014-02-28 07:50:34池興穎
      關(guān)鍵詞:接口技術(shù)調(diào)用編程

      袁 勇,池興穎

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

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

      袁 勇,池興穎

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

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

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

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

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

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

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

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

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

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

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

      (1)編寫(xiě)能在Matlab平臺(tái)下運(yùn)行的相關(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”項(xiàng)中填寫(xiě)組件名稱(chēng)“component”,這時(shí)候會(huì)自動(dòng)生成類(lèi),將自動(dòng)生成類(lèi)選中并Remove掉。在“Classname”項(xiàng)中填寫(xiě)類(lèi)名稱(chēng)“test_ huatu”,然后將test_huatu類(lèi)添加,并在Compileroptions中將Builddebugversion和Showverboseoutput勾選。

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

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

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

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

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

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

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

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

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

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

      hr=pImyclass-〉test_huatu();

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

      圖4 繪制sin曲線(xiàn)圖

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

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

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

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

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

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

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

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

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

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

      3 總結(jié)

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

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

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

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

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

      [4]王彬,代彥波,顏鵬博.Oracle10g簡(jiǎn)明教程[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)度
      元征X-431實(shí)測(cè):奔馳發(fā)動(dòng)機(jī)編程
      編程小能手
      紡織機(jī)上誕生的編程
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于A(yíng)ctiveX技術(shù)的Excel調(diào)用
      電力系統(tǒng)全網(wǎng)一體化暫態(tài)仿真接口技術(shù)
      電子制作(2018年14期)2018-08-21 01:38:28
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      中文GIS自然語(yǔ)言接口技術(shù)研究
      天地一體化網(wǎng)絡(luò)和空中接口技術(shù)研究
      峨边| 仁怀市| 青岛市| 西峡县| 广水市| 铁岭县| 琼结县| 双江| 淮北市| 任丘市| 祥云县| 赤峰市| 嘉鱼县| 商洛市| 务川| 富源县| 木里| 陆河县| 奇台县| 翁牛特旗| 浙江省| 泰和县| 延津县| 新野县| 汪清县| 洞头县| 开化县| 建宁县| 樟树市| 彭泽县| 夏邑县| 修文县| 招远市| 新乡市| 洞头县| 河源市| 沁水县| 米脂县| 京山县| 安图县| 郑州市|