Matlab数据库工具箱的使用
俗话说:“工欲善其事必先利其器”。既然是做算法研究和软件编程的,那么首先列出我的开发环境: 操作系统:Windows xp Professional SP3 开发工具:Visual Studio 2008+SP1中文版 Silverlight 2.0 Silverlight 2.0 Tools for Visual Studio 2008 Expression Blend 2tool工具箱 数学计算工具:Matlab 7.10.0.499(R2010a)32位 数据库:SQL Server 2005 参考资料:Microsoft MSDN 帮助文件 Microsoft Silverlight SDK Document Matlab 帮助文件 大量网上收集的资料和图书馆、实验室以及自己购买的书籍(太多了,不便列出) 第一篇笔记从Matlab总结起:由于我研究的数据是海量的而且要用到Matlab做运算,我自然想起了用数据库管理数据,然后在这些数据取出,转化为符合Matlab的运算要求矩阵。幸好,Matlab有数据库工具箱能很方便的解决这个问题。 一、从数据库中读取数据 1、ODBC/JDBC连接数据库,打开Visual Query Builder定义数据源,具体做法:点击Matlab左下角的"Start"按钮,选择“Toolbox”——“Database”——“Visual Query Builder”,如下图: 2、添加数据源,具体做法:点击下图界面中的“添加”按钮,创建新的数据源 ,按照自己的实际情况,一步一步地完成设置,自此新的数据源添加完毕。 笔者选择的是 SQL Server Client: 在下面框内添加自己要使用的数据库服务器名: 完成上述操作后一直点击下一步,直至如下图选择所需的数据库名: 点击下一步、完成。 3、配置完数据源,在M文件中编写代码,连接数据库并从中取出数据: 笔者所使用的数据源: function MM=ImportData() %-------------------------------------------------------------------------- %连接数据库,导入数据 %-------------------------------------------------------------------------- logintimeout(5);% 设置创建连接的极限时间 connA = database('Freeway_TrafficFlowData','','');%连接数据库 ping(connA); % 检测连接状态 cursorA=exec(connA,'SELECT NUM FROM Freeway_TrafficFlowData.dbo.XiangHe_EntranceData'); %执行SQL语言 cursorA=fetch(cursorA); % 取出数据的所有行 MM=cursorA.Data ; % 把取出的数据存在MM中 MM=double(vpa(cell2mat(MM))); %把取出的元胞类型的数据转化为Double类型的矩阵 close(cursorA) ; % 记得随手关闭游标 close(connA) 生成的矩阵的部分截图: 二、向数据库中写入数据 要是更换数据库可以参照前一节的前两点,步骤类似,不再赘述!主要谈谈如何向数据库中写入格式时间: for j=1:n G(j)=mat2cell(Output(j)); end Output=G'; %把数据转化为能写入到数据库中的元胞类型 t=datestr(733774:1/24:(733775-1/24)); s=cellstr(t); %构建时间数组,并转化为元胞类型 timeoutB=logintimeout(5); % 设置创建连接的极限时间 connB = database('Freeway_TrafficFlowData', '', '');%连接数据库 ping(connB); % 检测连接状态 colnames = {'shiyan','shi'}; fastinsert ( connB,'Freeway_TrafficFlowData.dbo.shiyant',colnames ,[Output,s]); % 利用 fastinsert 函数,注意是中括号后面两个变量 close(connB); 写入到数据库中的截图: 以上就是,Matlab Database Toolbox的简单使用范例,个人觉得挺好的,与大家分享了。 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论