热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

matlab如何添加数据集,如何用matlab把数据集导入数据库

最近要新几个好的新算法,要用到数据集,老师要求我们把数据集导入数据库,方便开发。所以就学习着matlab,但是从网上下载的数据一般都是矩阵

最近要新几个好的新算法,要用到数据集,老师要求我们把数据集导入数据库,方便开发。所以就学习着matlab,但是从网上下载的数据一般都是矩阵类型的怎么才能导入数据库呢?网上找了找,怎么也没找到全适的答案,自己就试着把解决方法写出了,以方便以后的使用,方便大家。

这里讲的是怎样用matlab链接数据库。

Matlab与SQL Server数据库编程-Godman

1.配置数据源

“控制面板”----“管理工具”——“数据源(ODBC)”——“添加”——“创建数据源”。具体操作见“数据源配置-SQL Server.gif”

2.建立链接对象——database

调用格式:

cOnna=database(‘datasourcename’,’username’,’password’);

cOnna=database('db_sql_server','sa','sa123456789');

%数据库名,用户名,密码;

其中db_sql_server为上文中创建的数据源名称,其余为SQL安装时输入的用户名和密码。

3.建立并打开游标——exec

调用格式:

curs=exec(conna,'sqlquery');

如curs=exec(conna,'select * from database')

其中conna为上文中链接对象,select * from database表示从表database中选择所有的数据.

4.把数据库中的数据读取到Matlab中——fetch

调用格式:

curs=fetch(curs,RowLimit);

Data=curs.Data;%把读取到的数据用变量Data保存.

如curs=fetch(curs);

把所有的数据一次全部读取到Matlab中,RowLimit为每次读取的数据参数的行数,默认为全部读取,但是全部读取会很费时间(和计算机性能很大关系)。

上述四点是matlab从数据库文件中读取数据到matlab中的基本步骤。

实例:

timeoutA=logintimeout(5);%设置连接数据库的时间

cOnn= database('db_sql_server','sa','sa123456789');

%数据库名,用户名,密码

ping(conn);

cursorA=exec(conn,'SELECT * FROM Sh');

%/执行select语句,Sh:数据表名

setdbprefs ('DataReturnFormat','cellarray')

;

%返回数据类型为元包(cell)型,默认为CELL型。要通过cell2mat()转换格式

cursorA=fetch(cursorA);

%将数据库中的内容写入MATLAB工作空间

AA=cursorA.Data

%得到数据库中的数据

%关闭连接

close(cursorA)

close(conn);

其余操作如插入、删除、更新等可参加以前写的基于Access数据库的相关内容,下列函数可供参考,具体用法可以在Matlab中通过help查询。

数据库工具箱函数列表

数据库访问函数

clearwarnings 清除数据库连接警告

close 关闭数据库连接

commit 数据库改变参数

database 连接数据库

exec 执行SQL语句和打开油标

get 得到数据库属性

insert 导出MATLAB单元数组数据到数据库表

isconnection 判断数据库连接是否有效

isreadonly 判断数据库连接是否只读

ping 得到数据库连接信息

rollback 撤销数据库变化

set 设置数据库连接属性

sql2native 转换JDBC SQL 语法为系统本身的SQL语法

update 用MATLAB单元数组数据代替数据库表的数据

数据库游标访问函数

attr 获得的数据集的列属性

close 关闭游标

cols 获得的数据集的列数值

columnnames 获得的数据集的列名称

fetch 导入数据到MATLAB单元数组

get 得到游标对象属性

querytimeout 数据库SQL查询成功的时间

rows 获取数据集的行数

set 设置游标获取的行限制

width 获取数据集的列宽

数据库元数据函数

bestrowid 得到数据库表唯一行标识

columnprivileges 得到数据库列优先权

columns 得到数据库表列名称

crossreference 得到主健和外健信息

dmd 创建数据库元数据对象

exportedkeys 得到导出外部健信息

get 得到数据库元数据属性

importedkeys 得到导入外健信息

indexinfo 得到数据库表的索引和统计

primarykeys 从数据库表或结构得到主健信息

procedurecolumns 得到目录存储程序参数和结果列

procedures 得到目录存储程序

supports 判断是否支持数据库元数据

tableprivileges 得到数据库表优先权

tables 得到数据库表名称

versioncolumns 得到自动更新表列

按照上面的操作自己写一下insert语句。

cOnn=database('dataset','sa','admin609');for i=1:12103,insert(conn,'dataset',{'index0','index1','index2','index3','index4','index5','index6','index7','index8','index9','index10','index11','index12','index13','index14','index15','index16','index17','index18','index19','index20','index21','index22','index23','index24','index25','index26','index27','index28','index29','index30','index31','index32','index33','index34','index35','index36','index37','index38','index39','index40','index41','index42','index43','index44','index45','index46','index47','index48','index49','index50','index51','index52','index53','index54','index55','index56','index57','index58','index59','index60','index61','index62','index63'},B(i,:)),end

写个for循环搞定了。

具体matlab的操作参见:http://math.ecnu.edu.cn/sxsykc/jxnr/mat5.htm#_Toc378651269



推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文讨论了编写可保护的代码的重要性,包括提高代码的可读性、可调试性和直观性。同时介绍了优化代码的方法,如代码格式化、解释函数和提炼函数等。还提到了一些常见的坏代码味道,如不规范的命名、重复代码、过长的函数和参数列表等。最后,介绍了如何处理数据泥团和进行函数重构,以提高代码质量和可维护性。 ... [详细]
author-avatar
阿依古丽丹_736
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有