当前位置:文档之家› matlab数据库操作解读

matlab数据库操作解读

matlab与sql总结

总结 一个星期前老师给了一个任务,要求用GUI做成一个simulink仿真界面,通过matlab与SQL的连接,然后把仿真结果存到sql里建的数据库里。从一开始什么都不懂,到现在可以用GUI做一个简单的界面,以及matlab与sql的连接,这一个星期感慨颇多,尤其是查阅相关资料的痛苦,及找到可以借鉴资料的喜悦,到最后逐渐有了一个清晰的思想。过程如下: 一首先了解GUI 1.1 GUI简介[1,2] 图形用户界面(graphical user interface,GUI)是由窗口、光标、按键、菜单、文字说明等对象(Ob-ject)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等假如科技工作者仅仅执行数据分析、解方程等工作,一般不会考虑GUI 的制作。但是如果想向客户提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面是最好的选择之一。 开发实际的应用程序时应该尽量保持程序的界面友好,因为程序界面是应用程序和用户进行交互的环境。在当前情况下,使用图形用户界面是最常用的方法。提供图形用户界面可使用户更方便地使用应用程序,不需要了解应用程序怎样执行各种命令,只需要了解图形界面组件的使用方法;同时,不需要了解各种命令是如何执行的,只要通过用户界面进行交互操作就可以正确执行程序。 在Matlab7.0中,图形用户界面是一种包含多种图形对象的界面,典型的图形界面包括图形显示区域、功能按钮空间以及用户自定义的功能菜单等。为了让界面实现各种功能,需要对各个图形对象进行布局和时间编程。这样,当用户激活对应的GUI对象时,就能执行相应的时间行为。最后,必须保存和发布自己创建的GUI,使得用户可以应用GUI对象。在Matlab中,所有对象都可以使用M文件进行编写。GUI也是一种Matlab对象,因此,可以使用M文件来创建GUI。使用M文件创建GUI的方法也是最基础的,使用其他方法创建GUI图形界面时,实现图形控件的各种功能时,也需要编写相应的程序代码。 除了使用M文件来创建GUI对象之外,Matlab还为用户开发图形界面提供了一个方便高效的集成开发环境:Matlab图形用户界面开发环境(matlab graphical user interface development envi-ronment)简称GUIDE,其主要是一个界面设计工具集。Matlab7.0将所有GUI所支持的用户控件都集成起来,同时提供界面外观、属性和行为响应方法的设置方法。除了可以使用GUIDE创建GUI之外,还可以将设计好的GUI界面保存为一个FIG资源文件,自动生成对应的M文件。该M文件包含了GUI初始化代码和组建界面布局的控制代码。 使用GUIDE创建GUI对象执行效率高,可以交互式地进行组件布局,还能生成保存和发布GUI的对应文件。 FIG文件:该文件包含GUI图形窗口及其子对象的完全描述,包含所有相关对象的属性信息,可以调用hgsave命令或者使用M文件编辑器的File>Save命令生

MATLAB 数据库

基MATLAB 数据库 linspace(a,b,c)均匀生成介于a到b的c个值,c默认为100如linspace(0,100,5)即[0 25 50 75 100]linspace(-1.3,1.3)就是生成介于-1.3到1.3的100个值meshgrid是生成网格的函数,一般是生成二维网格矩阵数据,但这里生成的是三维网格矩阵数据。先以二维数据为例,比如要绘制函数z=f(x,y)的图像x方向在[1,2,3,4,5]五个点上采样,即x=1:5y 方向在[10 20 30 40]四个点上采样,即y=10:10:40那么就一共有5*4=20个采样点。分别为(1,10) (2,10) (3,10) (4,10) (5,10)(1,20) (2,20) (3,20) (4,20) (5,20)(1,30) (2,30) (3,30) (4,30) (5,30)(1,40) (2,40) (3,40) (4,40) (5,40)命令[X,Y]=meshgrid(x,y)生成的X就是这20个采样点的横坐标,Y既是其纵坐标,即X=1 2 3 4 51 2 3 4 51 2 3 4 51 2 3 4 5Y=10 10 10 10 1020 20 20 20 2030 30 30 30 3040 40 40 40 40然后再对这20个采样点计算z的值,即Z=f(X,Y),最后用mesh(X,Y,Z)即可绘制图像三维网格数据与此类似,现在xyz三个方向都是取-1.3到1.3的100个数据,总共就是100^3即一百万个采样点,[x,y,z]=meshgrid(linspace(-1.3,1.3));中的x,y和z就分别是这一百万个采样点的三个维度上的坐标。而s=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;就得到了函数s=f(x,y,z)=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3在这一百万个采样点中的值 size():获取矩阵的行数和列数 (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。 (2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。 (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数,c=size(A,2) 该语句返回的时矩阵A 的列数。 Input() 数据输入 Disp() 输出项既可以是字符串也可以是矩阵 矩阵运算 w=gallery('cauchy',1000); %产生一个1000×1000的柯西矩阵 t1=clock; % 获取系统时间 w_norm=norm(w) %计算范数 t2=clock; %获取系统时间 t_norm=etime(t2,t1) %计算范数的耗时 t3=clock; %获取系统时间 w_normest=normest(w); %估计范数 t4=clock; %获取系统时间 t_normest=etime(t4,t3) %估计范数的耗时 特殊矩阵的创建 Zeros(m,n) 生成m*n个全零矩阵 Eye(m,n) 生成m*n个单位矩阵 One(m,n) 生成m*n个全1矩阵 Rand(m,n) 生成m*n个随机矩阵 Randn(m,n)生成m*n个标准正态分布随机矩阵linspace(a,b,c)均匀生成介于a到b的c个值,c 默认为100 magic(n) 产生n阶魔方矩阵 矩阵求值det(A) A为一个矩阵 矩阵求秩rank(A) 矩阵求迹trace(A) 即求对角线元素和也等于特征值之和a必须为方阵 矩阵的逆inv(A) 矩阵的伪逆pinv(A) 也称广义矩阵 矩阵特征值和特征向量[VB,DB]=eig(B). 多项式 poly2sym([1 3 2]) 创建多项式 ans = x^2 + 3*x + 2

MATLAB模块介绍$

MATLAB 模块介绍 -------- 数学 & 金融 u Curve Fitting Toolbox Curve Fitting Toolbox 扩展MATLAB 环境,集成数据管理,拟合,显示,检验和输入分析过程等功能。所有能通过GUI 使用的功能都可以通过命令行来进行。

u Database Toolbox ——与关系数据库交换数据 Database Toolbox提供了同任何支持ODBC/JDBC标准的数据库进行数据交换的能力。利用在工具箱中集成的Visual Query Builder工具,无需学习任何SQL语句就可以实现在数据库中查寻数据的功能。这样MATLAB就能够对存储在数据库中的数据进行各种各样的复杂分析。在MATLAB环境中,也可以使用SQL命令来进行如下操作: 对数据库数据进行读、写操作;应用简单或复杂的条件查询数据库中的内容。 特点: ?与支持ODBC/JDBC 数据库建立连接,包括Oracle 、Sybase SQL Server ,Sybase SQL Anywhere ,Microsoft SQL Sever ,Microsoft Access ,Informix Ingres 等。?支持SQL 语句,可以在MATLAB 环境下直接执行SQL 查询命令 ?动态数据调入:可以根据需要使用SQL 在MATLAB 中获取数据,本工具箱对某一种类型的数据库进行大量或小量的查询 ?数据类型保持:在MATLAB 中对数据的调入或调出操作都能保持原有的数据类型 ?多个对话能力,采用本工具箱可在MATLAB 中从一个数据库中调入数据,对那些数据进行分析,然后输出到另一个数据库中 ?处理大量数据的能力:采用本工具箱你可以一次或分几次处理大量的数据,这样能让你根据任务高效地进行数据处理 ?连续状态的数据库联接:一旦和某个数据库的联接建立起来后,数据库一直是打开的,除非你在MATLAB 中执行关闭语句。这提高了数据库的读取速度,减少了不必要的命令来调入、输出数据。 ?无需了解SQL 也能够对数据库数据进行查询。 功能: Database Toolbox 可以与流行的数据库交互数据,其中包括Oracle ,Sybase ,Microsoft SQL Server 及Informix 等。工具箱还允许在单个MATLAB 进程中对多个数据库进行操作,同时支持对大量数据处理。工具箱中包含的Visual Query Builder ,即使不知道SQL ,也能可视化地与数据库打交道。 u Financial Derivatives Toolbox Financial Derivatives Toolbox 用于分析金融衍生工具和投资。 特点 ?提供各种利息率模型 ?提供七种金融工具一系列计算的函数

基于MATLAB创建_删除远程SQL数据库的ADO技术

第20卷 第2期 四川理工学院学报(自然科学版) V ol .20 No .2 JOURNAL OF SICHUAN UNIVERSITY OF 2007年4月 SCIENCE & ENGINEERING (NATURAL SCIENCE EDITION ) Apr .2007 文章编号:1673-1549(2007)02-0043-04 基于MATLAB创建、删除远程SQL数据库的ADO技术 邹 明1,赵 刚1,李亚军1,王 华2 (1.四川大学电子信息学院,成都 610064;2.四川电子设备研究所,成都 610100) 摘 要:阐述了MATLAB调用ADO数据库接口驱动程序的方法。通过ADO/ADOX对象模型实现了在客户端远程创建、删除SQL数据库和表的操作。该项技术现已成功的用于某仿真实验平台的SQL数据库接口。该方法也适用于其他类型的数据库,对于有类似需求的用户有一定的指导意义。 关键词:MATLAB;SQL数据库;ADO;ADOX 中图分类号:TP311.52 文献标识码:A 引 言 通常开发基于SQL Server的数据库客户端应用程序时,必须预先在服务器端数据库上进行一系列配置工作,如创建库、表、视图等数据对象。只有在正确配置了服务器上的数据结构后,客户端程序方能正常运行。通常这些工作只能由有经验的数据库管理人员使用SQL Server数据库系统本身提供的辅助工具完成。但某些基于MATLAB的项目需要客户端程序在工作过程中动态创建、删除数据库和表,这就无法采用人工的方法实现。然而,MATLAB集成的Database Toolbox工具箱当前只支持传统的ODBC数据库驱动程序,而ODBC不支持远程创建、删除数据库等的操作。这只有依赖ADO数据库驱动程序才能实现。 本文介绍一种采用MATLAB调用外部动态链接库实现上述功能的方法,在动态链接库中同时引入ADO核心库和ADOX扩展库,以两者协同工作的方式,实现了在客户端自动创建、删除SQL Server远程数据库,包括自动建库、建表、删除库的操作。系统的层次框图如图1所示。 图1 系统层次框图 1 ADO 与ADOX 对象模型 ADO(ActiveX Data Object,ActiveX 数据对象)是Microsoft 提供的一种面向对象、与语言无关的数据访问应用程序接口。ADO类型库包含_ConnectionPtr 接口、_RecordsetPtr 接口和_CommandPtr 接口。 作为对ADO对象和编程模型的补充,ADOX包含了产生数据库模式的对象和控制数据库内对象安全的对象。ADOX在标准的ADO对象中又增加了9个对象:Catalog、Table、Column、Index、Key、Group、User、Procedure和View,ADOX类型库中的对象独立于ADO而存在,并且可以和ADO模型对象一起使用。 在VC++中可以方便的引入ADO和ADOX类型库。ADO和ADOX对象模型的类型库文件名分别为msado15.dll、msadox.dll。在VC++中引入类型库的实现方法如下: #import "c:\program files\Common Files\system\ado\msado15.dll" rename("EOF","adoEOF") rename("DataTypeEnum","adoDataTypeEnum") #import " c:\program files\Common Files\system\ado\msadox.dll" no_namespace rename("EOF", "adoXEOF") 收稿日期:2006-05-19 作者简介:邹 明(1985-)男,四川遂宁人,硕士生,主要从事电路系统设计自动化方面的研究。

matlab Access数据库大作业

TB 仿真杂货铺代做各种Matlab程序设计、GUI设计 本次代做情况: 代做代码已交付,买方恶意退单,因此将本次代做内容分享如下,有需要源码的联系上方店铺。

一、原始需求 matlab数据库开发小软件(用matlab的GUI功能制作,数据后期助教会发给大家,可以先仿照附表制作,数据库采用access) 1.1 数据库功能 (1)基本功能:数据库的基本功能包括数据采集、数据存储和数据管理。 1)数据采集主要包括数据录入、追加。 2)数据存储主要包括数据备份、删除和恢复。 3)数据管理包括数据查询(单条件、组合条件查询)、排序、统计、调用和分析。 (2)综合功能 数据库的综合功能包括人员权限管理和打印管理。通过设置用户密码确认登录人员身份,登录权限包括一般用户权限和管理员权限。管理员具有数据采集、数据存储和数据管理的权限,一般用户只有数据管理的权限。 1.2 数据框架 针对每一种结构,应包括基本数据、试验数据 (1)基本数据包括:技术参数(规格、功能、性能参数等)、结构参数(结构图、关键零部件尺寸等)、材料特性(泊松比、屈服强度等)、基本信息(厂家信息、出厂时间等)。 (2)样机/出厂试验数据包括:运行工况参数(温度、压力等)、试验次数/时间、故障数据(时间、次数、机理等)。 基本数据、试验数据的数据采集模板,见附表1~附表2。

附表1 基本数据

附表2 样机/出厂试验数据 二、Access数据库

三、GUI界面 1.登录界面 登录界面,可以实现用户和管理员登录,进入各自操作页面 2.用户操作页面 可以检索数据库内容,并对检索内容进行的某一字段进行正排和倒排排序。还可以统计检索结果中满足给定范围的所有数据行。 3.管理员页面

Matlab数据库编程指南-Godman

Matlab数据库编程指南-Godman Matlab与数据库链接有三种方法,本文只讲述其中以ODBC的方式进行链接。 本文件包含四部分,其中第三部分为我自己写的一些数据库函数操作的函数,第四部分为网上的一些资料。 如有疑问可以邮件联系tntuyh@https://www.doczj.com/doc/f817478093.html, Godman 2009.3.30 晚Good Luck! 第一部分:读取数据其相关信息查看 1.配置数据源 (1).“控制面板”----“管理工具”——“数据源(ODBC)”——“添加”——“创建数据源名称和选择数据库文件”。具体操作见“配置数据源.gif” (2).采用修改注册表,自动配置数据源。 DB_path='D:\Program Files\MATLAB71\work\StuSystem.mdb'; DB_sourcename='Godman'; LinkDB(DB_path,DB_sourcename,1); (LinkDB为自编函数) 2.建立链接对象——database 调用格式: conna=database(‘datasourcename’,’username’,’password’); 如conna=database('SampleDB','','');其中SampleDB为上文中创建 的数据源名称,当默认情况下,数据库文件的username和password为空。 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中的基本步骤。 5.数据返回类型 从数据库中读取数据到matlab有三种数据类型(默认为元胞类型cellarray),分别为元胞类型(cellarray),数字型(numeric),结构型(structure)。可以在链接数据库之前通过setdbprefs 函数来进行设置。如果数据库文件中全部是数值型数据时最好采用numeric型的数据,这样可以使得读取速度大幅提高,特别是在大型数据读取时非常明显。我曾经从数据库中读取过100万个数据,用cellarray时用了16s,但是用numeric时却只用了8s,速度提高很大啊,对电脑配置不好的来说,很有帮助的。(还有我的电脑很烂,1.3GHz,384M内存,可能让大家见笑了…….) 调用格式: setdbprefs(‘datareturnformat’,’numric’)

MATLAB常用模块

commonly used blocks:常用模块 continuous:连续性模块 discontinuous:非续性模块 discrete:离散模块 logic and bit operations:逻辑和位操作模块组 lookup Tables:查询表模块组 Math Operations:数学运算模块组 sources:信号模块组 sinks:输出池模块组 Model Verification:模型验证模块库 Signal Routing:信号路线发送模块组 signal Attributes:信号属性置模块组 Model wide utilities:型实用模块库 Ports & Subsystems:端口和子系统模块库 User-Defined Functions:用户定义函数模块组 control system toolbox 控制系统工具箱 MATLAB 信号处理与通信 (76) Signal Processing Toolbox(信号处理工具箱) DSP System Toolbox(DSP系统工具箱) Communications System Toolbox(通信系统工具箱) Wavelet Toolbox(小波工具箱) Fixed-Point Toolbox(定点运算工具箱) RF Toolbox(射频工具箱) Phased Array System Toolbox(相控阵系统工具箱) MATLAB 数学、统计与优化 (116) Symbolic Math Toolbox (符号数学工具箱) Partial Differential Equation Toolbox (偏微分方程工具箱)Statistics Toolbox (统计学工具箱)

matlab 读数据库

zz: Matlab数据库编程指南 (2011-03-18 17:39:10) 转载▼ 标签: 杂谈 https://www.doczj.com/doc/f817478093.html,/view/5b9fb00abb68a98271fefa61.html Matlab数据库编程指南-Godman Matlab与数据库链接有三种方法,本文只讲述其中以ODBC的方式进行链接。 本文件包含四部分,其中第三部分为我自己写的一些数据库函数操作的函数,第四部分为网上的一些资料。 如有疑问可以邮件联系tntuyh@https://www.doczj.com/doc/f817478093.html, Godman 2009.3.30 晚Good Luck! 第一部分:读取数据其相关信息查看 1. 配置数据源 (1).“控制面板”----“管理工具”——“数据源(ODBC)”——“添加”——“创建数据源名称和选择数据库文件”。具体操作见“配置数据源.gif” (2).采用修改注册表,自动配置数据源。 DB_path='D:\Program Files\MATLAB71\work\StuSystem.mdb'; DB_sourcename='Godman'; LinkDB(DB_path,DB_sourcename,1); (LinkDB为自编函数) 2. 建立链接对象——database 调用格式: conna=database(‘datasourcename’,’username’,’password’); 如conna=database('SampleDB','','');其中SampleDB为上文中创建的数据源名称,当默认情况下,数据库文件的username和password为空。 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中的基本步骤。 5. 数据返回类型 从数据库中读取数据到matlab有三种数据类型(默认为元胞类型cellarray),分别为元胞类型(cellarray),数字型(numeric),结构型(structure)。可以在链接数据库之前通过setdbprefs 函数来进行设置。如果数据库文件中全部是数值型数据时最好采用numeric型的数据,这样可以使得读取速度大幅提高,特别是在大型数据读取时非常明显。我曾经从数据库中读取过100万个数据,用cellarray时用了16s,但是用numeric时却只用了8s,速度提高很大啊,

DB Toolbox连接Matlab和常用的数据库

DB Toolbox连接Matlab和常用的数据库 数据库工具箱(DB Toolbox)让用户使用MATLAB强大数据分析和可视化工具功能处理存储在数据库中的数据的复杂分析。在MATLAB环境下工作,可以用结构化查询语言(SQL)命令读,写数据库的数据,进行简单和高级条件的数据查询。并且可以连接MATLAB和数据库包括Oracle,Sybase,Microsoft SQL Server和Informix。可以用单一MATLAB同时访问多个数据库,进行大数据量的事务处理。不懂SQL的用户可以用Visual Query Builder处理数据。 一、重点 1)鲁棒接口能力。用ODBC/JDBC连接数据库,包括Oracle,Sybase SQL Server,Sybase SQL Anywhere,Microsoft SQL Server, Microsoft Access,Informix Ingres. 2)SQL语法。在MATLAB环境直接执行SQL查询 3)动态导入数据。调节SQL查询,把数据导入MATLAB。数据库工具箱满足小的和大的查询。 4)数据类型保存。在数据导入和导出行为MATLAB保存数据类型 5)同时访问多个数据库。从数据库导入数据,对该数据执行计算,然后导入到另一个数据库。 6)处理大数据集的能力。 7)连续状态的数据库连接:一旦和某个数据库的连接建立后,数据库一直是打开的,除非在MATLAB中执行关闭语句。这提高了数据库的读取速度,减少了不必要的命令来调入,输出数据。 8)Visual Query Builder.该图形用户接口列数据源和所有表和字段,不懂SQL的用户可以访问和查询数据库 二、函数列表

matlab连接SQL数据库

1 首先创建数据库,就不废话了。 2 建立ODBC数据源:控制面板->管理工具->ODBC数据源->用户DNS。如图 点击“添加”

旋转“SQL Server”,“完成”。 数据源名称--编程时要用到,可任意命名。服务器选择自己指定的

选择默认数据库,下一步 下一步 旋转SQL Server验证,完成。 3 编程(来自网络)这段程序已经过我验证。

sourceName=input('Enter the source Name:','s'); %获取数据源的名称(dbtest) Timeout=logintimeout(5); %允许登录连接时间最长为5s conn=database(sourceName,'sa','123'); %获取数据库连接对象 ping(conn) %测试数据库连接状态 dbmeta=dmd(conn); %获取数据元对象 t=tables(dbmeta,'tutorial'); %获取cata为 tutorial的表名 [trow,tcolumn]=size(t); %获取返回数组的大小 index=1; for i=1:trow %由于表中既包含了系统表格 if strcmp(t{i,2},'TABLE') %又包含了用户表格,需要在其中 tablename{1,index}=t{i,1}; %找出用户表格,对t数组的每一行 index=index+1; %的第二个元素判断是 table则为用 end %户表。 end tabletosee=input('Which one would you want to use? ','s'); %获取欲查看的表格的名称 sql=['select * from ',tabletosee]; %构造查询的sql语句 curs=exec(conn,sql); %执行该sql语句 setdbprefs('DataReturnFormat','cellarray'); %设定数据返回格式 curs=fetch(curs); %获取结果集对象 numrows=rows(curs); %获取返回数据的行数 numcols=cols(curs); %获取返回数据的列

matlab调用数据库

[原创]Matlab通过ODBC的方式调用数据库 Matlab数据库编程指南-Godman Matlab与数据库链接有三种方法,本文只讲述其中以ODBC的方式进行链接。 第一部分:读取数据其相关信息查看 1. 配置数据源 “控制面板”----“管理工具”——“数据源(ODBC)”——“添加”——“创建数据源名称和选择数据库文件”(具体操作见GIF图片操作)。 2. 建立链接对象——database 调用格式: conna=database(‘datasourcename’,’username’,’password’); 如conna=database('SampleDB','','');其中SampleDB为上文中创建的数据源名称,当默认情况下,数据库文件的username和password为空。 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中的基本步骤。 5. 数据返回类型 从数据库中读取数据到matlab有三种数据类型(默认为元胞类型cellarray),分别为元胞类型(cellarray),数字型(numeric),结构型(structure)。可以在链接数据库之前通过setdbprefs 函数来进行设置。如果数据库文件中全部是数值型数据时最好采用numeric型的数据,这样可以使得读取速度大幅提高,特别是在大型数据读取时非常明显。我曾经从数据库中读取过100万个数据,用cellarray时用了16s,但是用numeric时却只用了8s,速度提高很大啊,对电脑配置不好的来说,很有帮助的。(还有我的电脑很烂,1.3GHz,384M内存,可能让大家见笑了…….) 调用格式: setdbprefs(‘datareturnformat’,’numric’) 6. 养成良好习惯,随手关闭链接对象和游标——close 当不再使用数据库的链接对象时要及时关闭,这样才能及时的释放出内存,而且每次链接后所需要的内存量是非常大的,要是不及时关闭的话对后续计算的影响将非常非常的大。( 针对烂机子而言,要是你的电脑超强也无所谓的…..) 调用格式: close(curs) close(conna) 7. 查看数据相关信息 Rows-查看数据行数 调用格式:numrows=rows(curs)

matlab数据库工具箱

Matlab数据库工具箱的使用 俗话说:“工欲善其事必先利其器”。既然是做算法研究和软件编程的,那么首先列出我的开发环境: 操作系统:Windows xp Professional SP3 开发工具:Visual Studio 2008+SP1中文版 Silverlight 2.0 Silverlight 2.0 Tools for Visual Studio 2008 Expression Blend 2 数学计算工具: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、添加数据源,具体做法:点击下图界面中的“添加”按钮,创建新的数据源,按照自己的实际情况,一步一步地完成设置,自此新的数据源添加完毕。

Matlab连接SQL数据库【完整版】【包括32位和64位】

1、32位系统——采用简单的ODBC建桥连接 step1:【建立数据库】这个大家应该不用说了吧 step2:【建立ODBC数据源】 (1)控制面板--》管理工具--》数据源(ODBC)---》用户DSN--》添加 (2)然后再数据源名处随意命个名,比如test,服务器选择本地

(3)选择登陆数据库方式,然后【下一步】。然后选择默认数据库,选择自己的数据库,这里以master为例。 (4)一直【下一步】,直到最后。出现【测试数据库】,点击测试。

setp3:【Matlab测试】 sourceName=input('Enter the sourceName:','s'); %获取数据源的名称(本例中为test) Timeout=logintimeout(5); %允许登录连接时间最长为5s conn=database(sourceName,'sa','123'); %获取数据库连接对象 ping(conn) %测试数据库连接状态

PS:以上仅限32位系统,针对64位系统,会出现:[Microsoft][ODBC 驱动程序管理器] 无效的字符串或缓冲区长度。64位系统,通过JDBC连接。 2、32位系统——采用简单的JDBC连接 第一步,【下载Microsoft SQL Server JDBC Driver 3.0】从https://www.doczj.com/doc/f817478093.html, 下载Microsoft SQL Server JDBC Driver 3.0(4M左右),下载地址可以将上述关键字扔进Google 中搜索就得到了。解压缩可以得到很多文件,我们需要的是其中的sqljdbc4.jar和sqljdbc.jar 这两个文件。 其中后者是前者的子集,只要不出问题,直接使用前者就可以了。 第二步,【Matlab加入路径】在Matlab中加入jar。具体做法是找到"classpath.txt"文件,例如我的这个文件位置是 "D:\Matlab2010B\toolbox\local\classpath.txt",在文件的最后加入sqljdbc4.jar的完整路径,例如我的是: "D:/sqljdbc30/enu/sqljdbc4.jar",注意斜杠怎么写。第三步,【启动Matlab】,启动过程中如果没有出错,那么这个JDBC Connector就可以用了。 第四步,【查看SQL中TCP/IP以及端口号】 步骤一首先打开SSCM,如下图所示: 然后再sql server网络配置中开启TCP/IP协议,如下图所示:

matlab编程必用

Matlab读取CSV文件 2014-04-17 03:17阅读:42,411 环境:Matlab R2009a,Win 7 1、用csvread函数注意:csvread函数只试用与用逗号分隔的纯数字文件 第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M 第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。 第三种:M = CSVREAD('FILENAME',R,C,RNG),其中RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。 注意:matlab认为CSV第1行第1列的单元格坐标为(0,0) 给定一个csvlist.csv文件,其内容如下 02, 04, 06, 08, 10, 12 03, 06, 09, 12, 15, 18 05, 10, 15, 20, 25, 30 07, 14, 21, 28, 35, 42 11, 22, 33, 44, 55, 66 例1.1 读取整个文件 csvread('csvlist.csv') ans = 2 4 6 8 10 12 3 6 9 12 15 18 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.2 读取第2行以下,第0列以右区域的数据 m = csvread('csvlist.dat', 2, 0) m = 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.3 读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据 m = csvread('csvlist.dat', 2, 0, [2,0,3,3]) m = 5 10 15 20 7 14 21 28 2、使用textscan函数在使用textscan函数前必须用fopen函数打开CSV文件。textscan函数读取的结果会存在cell数组中。 调用格式 C = textscan(fid, 'format') C = textscan(fid, 'format', N) C = textscan(fid, 'format', param, value, ...) C = textscan(fid, 'format', N, param, value, ...) C = textscan(str, ...)

matlab sql JAVA(Autocommit off)连接问题解决

Matlab建立JDBC 链接时出现的问题完美解决 如下 conn=database('SQLDataBase','sa','123','com.microsoft.sqlserver.jdbc.SQLServerDriver','jdbc:sqls erver://localhost:1433;database=SQLDataBase') conn = Instance: 'SQLDataBase' UserName: 'sa' Driver: [] URL: [] Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect] Message: [1x89 char] Handle: 0 TimeOut: 0 AutoCommit: 'off' Type: 'Database Object' Get(conn,’Message’) 无法打开登录所请求的数据库"SQLDatabase"。登录失败。ClientConnectionId:7a727d2e-1525-438c-8fbe-00136b43b7ad 根源问题:选择错服务器名称了 安装后默认是SQLEXPRESS (这是错的)

解决办法: 再次在matlab中尝试

conn=database('SQLDB','sa','123','com.microsoft.sqlserver.jdbc.SQLServerDriver','jdbc:sqlserver:/ /localhost:1433;database=SQLDB') conn = Instance: 'SQLDB' UserName: 'sa' Driver: 'com.microsoft.sqlserver.jdbc.SQLServerDriver' URL: 'jdbc:sqlserver://localhost:1433;database=SQLDB' Constructor: [1x1 com.mathworks.toolbox.database.databaseConnect] Message: [] Handle: [1x1 com.microsoft.sqlserver.jdbc.SQLServerConnection] TimeOut: 0 AutoCommit: 'on' Type: 'Database Object' OK了

matlab连接SQL数据库

matlab连接SQL数据库 1 首先创建数据库,就不废话了。 2 建立ODBC数据源:控制面板->管理工具->ODBC数据源->用户DNS。如图 点击“添加”

旋转“SQL Server”,“完成”。 数据源名称--编程时要用到,可任意命名。服务器选择自己指定的

选择默认数据库,下一步 下一步

旋转SQL Server验证,完成。 3 编程(来自网络)这段程序已经过我验证。 sourceName=input('Enter the source Name:','s'); %获取数据源的名称(dbtest)Timeout=logintimeout(5); %允许登录连接时间最长为5s conn=database(sourceName,'sa','123'); %获取数据库连接对象 ping(conn) %测试数据库连接状态 dbmeta=dmd(conn); %获取数据元对象 t=tables(dbmeta,'tutorial'); %获取cata为tutorial的表名 [trow,tcolumn]=size(t); %获取返回数组的大小 index=1; for i=1:trow %由于表中既包含了系统表格 if strcmp(t{i,2},'TABLE') %又包含了用户表格,需要在其中 tablename{1,index}=t{i,1}; %找出用户表格,对t数组的每一行 index=index+1; %的第二个元素判断是table则为用 end %户表。 end tabletosee=input('Which one would you want to use? ','s'); %获取欲查看的表格的名称sql=['select * from ',tabletosee]; %构造查询的sql语句 curs=exec(conn,sql); %执行该sql语句 setdbprefs('DataReturnFormat','cellarray'); %设定数据返回格式 curs=fetch(curs); %获取结果集对象 numrows=rows(curs); %获取返回数据的行数 numcols=cols(curs); %获取返回数据的列数 disp('--------------------------------------------------------------'); %在屏幕中显示表格信息fprintf(' Information of Table %s . ',tabletosee); disp('--------------------------------------------------------------');

相关主题
文本预览
相关文档 最新文档