版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章MATLAB與數(shù)據(jù)庫的數(shù)據(jù)交互4.1案例背景隨著計(jì)算機(jī)數(shù)據(jù)庫技術(shù)的應(yīng)用與發(fā)展,科學(xué)研究與生產(chǎn)生活中的大量數(shù)據(jù)都按一定的規(guī)則方式存儲(chǔ)在數(shù)據(jù)庫中,例如:個(gè)人的各種賬戶(包括銀行賬戶、證券賬戶、手機(jī)賬戶、論壇賬戶等)及賬戶涉及的各種信息都存儲(chǔ)在數(shù)據(jù)庫中。若能將大量數(shù)據(jù)導(dǎo)入MATLAB中,利用MATLAB優(yōu)異的數(shù)值技術(shù)與圖形展示技術(shù),更好地處理或分析科學(xué)研究與生產(chǎn)生活的數(shù)據(jù),進(jìn)行實(shí)證性研究或者潛在規(guī)則的挖掘。數(shù)據(jù)的獲取方式除了從數(shù)據(jù)庫之間獲取外,還可以通過網(wǎng)絡(luò)獲取所需數(shù)據(jù)。而且,目前網(wǎng)絡(luò)已經(jīng)成為數(shù)據(jù)重要的來源之一,MATLAB可以一次性按格式從網(wǎng)絡(luò)中讀取大量數(shù)據(jù)。4.2
MATLAB實(shí)現(xiàn)4.2.1
Database工具箱簡(jiǎn)介Mathworks公司為MATLAB與數(shù)據(jù)庫連接提供了有效接口——Database工具箱。Database工具箱幫助用戶使用MATLAB的可視化技術(shù)與數(shù)據(jù)分析技術(shù)處理數(shù)據(jù)庫中的信息。在MATLAB的工作環(huán)境下,用戶可以使用SQL(StructuredQueryLanguage)標(biāo)準(zhǔn)數(shù)據(jù)查詢語言從數(shù)據(jù)庫讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入數(shù)據(jù)庫。目前,MATLAB可以支持與主要廠商的數(shù)據(jù)庫產(chǎn)品進(jìn)行連接,例如Oracle、Sybase、MicrosoftSQLServer和Informix等數(shù)據(jù)庫。MATLAB的Database工具箱還自帶了VisualQueryBuilder交互式界面方便用戶使用數(shù)據(jù)。4.2.2
Database工具函數(shù)Database工具箱函數(shù),具體分為數(shù)據(jù)庫訪問數(shù)據(jù)、數(shù)據(jù)庫游標(biāo)訪問函數(shù)、數(shù)據(jù)庫元數(shù)據(jù)訪問函數(shù)。函數(shù)具體功能如表1~表3所列。表1數(shù)據(jù)庫訪問函數(shù)表2數(shù)據(jù)庫游標(biāo)訪問函數(shù)表3數(shù)據(jù)庫元數(shù)據(jù)函數(shù)4.2.3
數(shù)據(jù)庫數(shù)據(jù)讀取數(shù)據(jù)庫數(shù)據(jù)讀取主要由數(shù)據(jù)庫連接,獲取數(shù)據(jù)庫信息,執(zhí)行SQL查詢語言查詢數(shù)據(jù),關(guān)閉數(shù)據(jù)連接等幾個(gè)主要步驟組成。在進(jìn)行MATLAB與數(shù)據(jù)庫的交互前首先要對(duì)數(shù)據(jù)源進(jìn)行配置。
(1)數(shù)據(jù)庫連接函數(shù)databasedatabase函數(shù)語法:conn=database(‘datasourcename’,‘username’,‘password’)輸入?yún)?shù):datasourcename:數(shù)據(jù)庫名稱(連接對(duì)象的名稱,如果不是本地?cái)?shù)據(jù),需輸入網(wǎng)址或者IP地址及端口);username:數(shù)據(jù)庫用戶名;password:數(shù)據(jù)庫密碼。輸出參數(shù):conn:建立數(shù)據(jù)連接對(duì)象(內(nèi)含連接信息、參數(shù))。(2)獲取數(shù)據(jù)庫連接信息函數(shù)pingping函數(shù)語法:ping(conn)通過ping函數(shù)可以獲得數(shù)據(jù)庫連接的數(shù)據(jù)版本、數(shù)據(jù)名稱、驅(qū)動(dòng)程序、URL地址等。輸入?yún)?shù):conn:數(shù)據(jù)庫連接對(duì)象。輸出參數(shù):DatabaseProductName:數(shù)據(jù)庫產(chǎn)品名稱;DatabaseProductVersion:數(shù)據(jù)庫產(chǎn)品版本;JDBCDriverName:JDBC驅(qū)動(dòng)名稱;JDBCDriverVersion:JDBC驅(qū)動(dòng)版本;MaxDatabaseConnections:數(shù)據(jù)庫最大連接數(shù)量;CurrentUserName:使用的數(shù)據(jù)庫名稱;DatabaseURL:數(shù)據(jù)庫URL地址;AutoCommitTransactions:是否連接。(3)執(zhí)行SQL語句和打開游標(biāo)函數(shù)execexec函數(shù)語法:curs=exec(conn,‘sqlquery’)輸入?yún)?shù):conn:數(shù)據(jù)庫連接對(duì)象;sqlquery:SQL數(shù)據(jù)庫查詢語句。輸出參數(shù):curs:結(jié)構(gòu)體(游標(biāo))。(4)導(dǎo)入數(shù)據(jù)到MATLAB單元數(shù)組函數(shù)fetchfetch函數(shù)語法:curs=fetch(curs)輸入?yún)?shù):curs:exec執(zhí)行后獲得的結(jié)果(游標(biāo))。輸出參數(shù):curs:經(jīng)fetch處理后的數(shù)據(jù)結(jié)果。(5)關(guān)閉數(shù)據(jù)庫連接closeClose函數(shù)語法:close(curs):關(guān)閉查詢游標(biāo);close(conn):關(guān)閉數(shù)據(jù)連接。4.2.4
數(shù)據(jù)庫數(shù)據(jù)寫入與數(shù)據(jù)的讀取一樣,數(shù)據(jù)庫數(shù)據(jù)寫入主要由數(shù)據(jù)庫連接、獲取數(shù)據(jù)庫信息、執(zhí)行SQL查詢語言寫入數(shù)據(jù)幾個(gè)主要步驟組成。(1)將數(shù)據(jù)插入數(shù)據(jù)庫函數(shù)fastinsertfastinsert函數(shù)語法:fastinsert(conn,‘tablename’,colnames,exdata)輸入?yún)?shù):conn:數(shù)據(jù)庫連接對(duì)象;tablename:數(shù)據(jù)寫入的目標(biāo)表名稱(數(shù)據(jù)表需在數(shù)據(jù)庫中建立完成);colnames:數(shù)據(jù)寫入的列名稱;exdata:寫入數(shù)據(jù)。(2)插入多行數(shù)據(jù)4.3網(wǎng)絡(luò)數(shù)據(jù)讀取隨著科技的發(fā)展,可以得到的數(shù)據(jù)越來越多,網(wǎng)絡(luò)已經(jīng)成為數(shù)據(jù)的重要來源之一,MATLAB可以一次性按格式從網(wǎng)絡(luò)中讀取大量數(shù)據(jù)。以MATLAB讀取Yahoo財(cái)經(jīng)數(shù)據(jù)與Google財(cái)經(jīng)數(shù)據(jù)為例進(jìn)行實(shí)例講解。4.3.1
Yahoo數(shù)據(jù)MyYahoo函數(shù)是網(wǎng)絡(luò)開源的MATLAB檢索Yahoo財(cái)經(jīng)數(shù)據(jù)的函數(shù),函數(shù)主要使用urlread函數(shù)讀取網(wǎng)頁數(shù)據(jù)。由于涉及比較復(fù)雜的字符串處理,這里不具體講解函數(shù)的技術(shù)細(xì)節(jié),主要介紹其使用方法。MyYahoo函數(shù)語法:[stock_Price]=MyYahoo(StockName,StartDate,EndDate,Freq)
輸入?yún)?shù):StockName:證券代碼,主要參考yahoo的證券代碼形式。
Yahoo采用的證券編碼形式為“證券代碼.交易所”。
例如:武鋼股份(600005)的Yahoo代碼為600005.SS;深發(fā)展(000001)的yahoo代碼為000001.SZ;
IBMIBM的Yahoo代碼為IBM(紐約交易所)IBM.F(法蘭克福交易所)。StartDate:開始時(shí)間。EndDate:截止時(shí)間。Freq:數(shù)據(jù)頻率?!甦’表示日、‘w’表示周、‘m’表示月。輸出參數(shù):stock_Price:證券數(shù)據(jù)。4.3.2
Google數(shù)據(jù)googleprices函數(shù)是網(wǎng)絡(luò)開源的MATLAB檢索Google財(cái)經(jīng)數(shù)據(jù)的函數(shù),函數(shù)主要使用urlwrite函數(shù)讀取網(wǎng)頁數(shù)據(jù)。由于涉及比較復(fù)雜的字符串處理,這里不具體講解函數(shù)的技術(shù)細(xì)節(jié),主要介紹其使用方法。googleprices函數(shù)語法:ds=googleprices(stockTicker,startDate,endDate)輸入?yún)?shù):stockTicker:證券代碼,主要參考Google的證券代碼形式。Google采用的證券編碼形式為“交易所:證券代碼”。例如:武鋼股份(600005)的Google
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 2017年12月環(huán)境管理體系基礎(chǔ)答案及解析 - 詳解版(80題)
- CCAA - 2015服務(wù)標(biāo)準(zhǔn)化與服務(wù)認(rèn)證答案及解析 - 詳解版(77題)
- 企業(yè)員工培訓(xùn)與技能發(fā)展路徑目標(biāo)制度
- 人教版(2026)八年級(jí)下冊(cè)英語寒假預(yù)習(xí)講義(含練習(xí)題及答案)
- 老年終末期認(rèn)知障礙非藥物干預(yù)策略
- 老年終末期患者跌倒預(yù)防的循證護(hù)理方案
- T∕SMA 0081-2025 船舶油水計(jì)量系統(tǒng)測(cè)試方法
- 2025年長(zhǎng)沙瀏陽市人民醫(yī)院招聘筆試真題
- 貴金屬回收提純工安全素養(yǎng)測(cè)試考核試卷含答案
- 衛(wèi)星通信機(jī)務(wù)員操作水平競(jìng)賽考核試卷含答案
- CJ/T 164-2014節(jié)水型生活用水器具
- 購銷合同范本(塘渣)8篇
- 貨車充電協(xié)議書范本
- 屋面光伏設(shè)計(jì)合同協(xié)議
- 生鮮業(yè)務(wù)采購合同協(xié)議
- 夫妻門衛(wèi)合同協(xié)議
- 公司雙選工作方案
- GB/T 4340.2-2025金屬材料維氏硬度試驗(yàn)第2部分:硬度計(jì)的檢驗(yàn)與校準(zhǔn)
- 銷售合同評(píng)審管理制度
- 泳池突發(fā)安全事故應(yīng)急預(yù)案
- 村財(cái)務(wù)管理制度
評(píng)論
0/150
提交評(píng)論