




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章MATLAB與數據庫的數據交互4.1案例背景隨著計算機數據庫技術的應用與發展,科學研究與生產生活中的大量數據都按一定的規則方式存儲在數據庫中,例如:個人的各種賬戶(包括銀行賬戶、證券賬戶、手機賬戶、論壇賬戶等)及賬戶涉及的各種信息都存儲在數據庫中。若能將大量數據導入MATLAB中,利用MATLAB優異的數值技術與圖形展示技術,更好地處理或分析科學研究與生產生活的數據,進行實證性研究或者潛在規則的挖掘。數據的獲取方式除了從數據庫之間獲取外,還可以通過網絡獲取所需數據。而且,目前網絡已經成為數據重要的來源之一,MATLAB可以一次性按格式從網絡中讀取大量數據。4.2
MATLAB實現4.2.1
Database工具箱簡介Mathworks公司為MATLAB與數據庫連接提供了有效接口——Database工具箱。Database工具箱幫助用戶使用MATLAB的可視化技術與數據分析技術處理數據庫中的信息。在MATLAB的工作環境下,用戶可以使用SQL(StructuredQueryLanguage)標準數據查詢語言從數據庫讀取數據或將數據寫入數據庫。目前,MATLAB可以支持與主要廠商的數據庫產品進行連接,例如Oracle、Sybase、MicrosoftSQLServer和Informix等數據庫。MATLAB的Database工具箱還自帶了VisualQueryBuilder交互式界面方便用戶使用數據。4.2.2
Database工具函數Database工具箱函數,具體分為數據庫訪問數據、數據庫游標訪問函數、數據庫元數據訪問函數。函數具體功能如表1~表3所列。表1數據庫訪問函數表2數據庫游標訪問函數表3數據庫元數據函數4.2.3
數據庫數據讀取數據庫數據讀取主要由數據庫連接,獲取數據庫信息,執行SQL查詢語言查詢數據,關閉數據連接等幾個主要步驟組成。在進行MATLAB與數據庫的交互前首先要對數據源進行配置。
(1)數據庫連接函數databasedatabase函數語法:conn=database(‘datasourcename’,‘username’,‘password’)輸入參數:datasourcename:數據庫名稱(連接對象的名稱,如果不是本地數據,需輸入網址或者IP地址及端口);username:數據庫用戶名;password:數據庫密碼。輸出參數:conn:建立數據連接對象(內含連接信息、參數)。(2)獲取數據庫連接信息函數pingping函數語法:ping(conn)通過ping函數可以獲得數據庫連接的數據版本、數據名稱、驅動程序、URL地址等。輸入參數:conn:數據庫連接對象。輸出參數:DatabaseProductName:數據庫產品名稱;DatabaseProductVersion:數據庫產品版本;JDBCDriverName:JDBC驅動名稱;JDBCDriverVersion:JDBC驅動版本;MaxDatabaseConnections:數據庫最大連接數量;CurrentUserName:使用的數據庫名稱;DatabaseURL:數據庫URL地址;AutoCommitTransactions:是否連接。(3)執行SQL語句和打開游標函數execexec函數語法:curs=exec(conn,‘sqlquery’)輸入參數:conn:數據庫連接對象;sqlquery:SQL數據庫查詢語句。輸出參數:curs:結構體(游標)。(4)導入數據到MATLAB單元數組函數fetchfetch函數語法:curs=fetch(curs)輸入參數:curs:exec執行后獲得的結果(游標)。輸出參數:curs:經fetch處理后的數據結果。(5)關閉數據庫連接closeClose函數語法:close(curs):關閉查詢游標;close(conn):關閉數據連接。4.2.4
數據庫數據寫入與數據的讀取一樣,數據庫數據寫入主要由數據庫連接、獲取數據庫信息、執行SQL查詢語言寫入數據幾個主要步驟組成。(1)將數據插入數據庫函數fastinsertfastinsert函數語法:fastinsert(conn,‘tablename’,colnames,exdata)輸入參數:conn:數據庫連接對象;tablename:數據寫入的目標表名稱(數據表需在數據庫中建立完成);colnames:數據寫入的列名稱;exdata:寫入數據。(2)插入多行數據4.3網絡數據讀取隨著科技的發展,可以得到的數據越來越多,網絡已經成為數據的重要來源之一,MATLAB可以一次性按格式從網絡中讀取大量數據。以MATLAB讀取Yahoo財經數據與Google財經數據為例進行實例講解。4.3.1
Yahoo數據MyYahoo函數是網絡開源的MATLAB檢索Yahoo財經數據的函數,函數主要使用urlread函數讀取網頁數據。由于涉及比較復雜的字符串處理,這里不具體講解函數的技術細節,主要介紹其使用方法。MyYahoo函數語法:[stock_Price]=MyYahoo(StockName,StartDate,EndDate,Freq)
輸入參數:StockName:證券代碼,主要參考yahoo的證券代碼形式。
Yahoo采用的證券編碼形式為“證券代碼.交易所”。
例如:武鋼股份(600005)的Yahoo代碼為600005.SS;深發展(000001)的yahoo代碼為000001.SZ;
IBMIBM的Yahoo代碼為IBM(紐約交易所)IBM.F(法蘭克福交易所)。StartDate:開始時間。EndDate:截止時間。Freq:數據頻率。‘d’表示日、‘w’表示周、‘m’表示月。輸出參數:stock_Price:證券數據。4.3.2
Google數據googleprices函數是網絡開源的MATLAB檢索Google財經數據的函數,函數主要使用urlwrite函數讀取網頁數據。由于涉及比較復雜的字符串處理,這里不具體講解函數的技術細節,主要介紹其使用方法。googleprices函數語法:ds=googleprices(stockTicker,startDate,endDate)輸入參數:stockTicker:證券代碼,主要參考Google的證券代碼形式。Google采用的證券編碼形式為“交易所:證券代碼”。例如:武鋼股份(600005)的Google
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2218-2025尿動力分析儀校準規范
- 招教師考試試題及答案
- 素材收集的數學試題及答案示例
- 家具行業設計師所需的法律知識考題及答案
- 碘伏考試題及答案
- 新能源汽車行業的營銷渠道研究試題及答案
- 梅州二模試題及答案政治
- 數學基礎強化練習試題及答案幼兒園
- 探討創業環境與扶持政策的互動性試題及答案
- 施工現場消防防護管理試題及答案
- 【MOOC】人工智能導論-福建師范大學 中國大學慕課MOOC答案
- 六年級數學分數混合運算練習300題及答案
- 兒童口腔舒適化治療
- 《基金的信息披露》課件
- 2024年研發部規劃
- 《冠心病》課件(完整版)
- 失業保險待遇申領表
- 銷售提成及職能部門員工利潤分紅方案
- 藥用植物學智慧樹知到答案2024年浙江中醫藥大學
- 評職稱業績合同協議書
- 四年級《爺爺的爺爺從哪里來》閱讀測評題
評論
0/150
提交評論