MATLAB读取数据库中的数据
有时候我们想用MATLAB软件强大的数学处理能力对一些数据做一定的分析,但是大量的数据一般都存储在数据库中,那么我们首先需要从数据库中获得数据,然后在MATLAB中尽情地完成我们的分析。下面以mysql为例,具体讲解一下操作步骤:
1、准备工作
细心的人会发现在MATLAB目录下有个 Java 文件,那么MATLAB与Java是不是有什么渊源呢?回答是肯定的,MATLAB的虚拟机主要是用Java实现的。我们在用Java连接数据库时必须要用到一个 jar包:mysql-connector-java-5.1.40-bin.jar。那么MATLAB连接数据库同样要利用这个包。
(1)、首先将mysql-connector-java-5.1.40-bin.jar 包考到MATLAB的安装目录 …….. \MATLAB\R2016b\java\jar 中。
(2)、然后找到目录 ……. \MATLAB\R2016b\toolbox\local 中的classpath.txt文件,打开在最后加上:$matlabroot/java/jar/toolbox/mysql-connector-java-5.1.40-bin.jar。表示对数据库连接器包的引用。
现在准备工作完成,接下来重启 MATLAB,就可以使用数据库了。
2、正式使用
(3)、驱动完成之后通过MATLAB 连接数据库
conn=database('dbName','userName','password','com.mysql.jdbc.Driver','jdbc:mysql://localhost:3306/dbName');
参数说明如下:
第一个参数:数据库名称
第二个参数:用户名
第三个参数:数据库密码
第四个参数:数据库驱动器,这个参数不要改动
第五个参数:jdbc:mysql:后面跟的是mysql对应的 IP地址(本机上的就是localhost),端口号 3306
(4)、现在获得数据库连接之后开始执行查询语句,获得数据
cursor=exec(conn,'select * from tableName')
curs=fetch(cursor);
data=curs.Data;
其中获得的 data 是一个cell 型的数据
要想将其装换为矩阵类型的数据可以用如下语句
A=cell2mat(data);
data 中的数据是字符串型的,要想将其转换为数字型,可以用 str2num 函数实现。