matlab与sql总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab78错误总结”。
总结
一个星期前老师给了一个任务,要求用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命令生成该文件。FIG文件是一个二进制文件,包含系列化的图形窗口对象。所有对象的属性都是用户创建图形窗口时保存的属性。该文件最主要的功能是对象句柄的保存。
M文件:该文件包含GUI设计、控制函数及控件的回调函数,主要用来控制GUI展开时的各种特征。该文件基本上可以分为GUI初始化和回调函数2个部分,控件的回调函数根据用户与GUI的具体交互行为分别调用。应用程序M文件使用open-fig命令来显示GUI对象,但是该文件不包含用户界面设计的代码,对应代码由FIG文件保存。1.2 设计GUI步骤
简单说来,一个好的界面应遵循以下3个原则:简单性(Simplicity)、一致性(Consistency)及习常性(Familiarity)。界面制作包括界面设计和程序实现。具体制作步骤如下[3,4]: 1)分析界面所要求实现的主要功能,明确设计任务;2)在稿纸上绘出界面草图,并站在使用者的角度来审查草图;3)按构思的草图,上机制作(静态)界面,并对其进行检查;4)编写界面动态功能的程序,对功能进行逐项检查。
以上过程只是一般原则,在设计中,步骤之间也可能要交叉执行或复合执行;设计和实现过程往往不是一步到位的,可能需要反复修改,才能获得满意的界面。建议先进行界面布局编码,后进行动态交互功能的编码。
二数据库与matlab的连接
2.1 ODBC简介[5]
ODBC(开放式数据库的连接)是一种应用程序的接口(API)。这种接口提供了独立于任何的数据库管理系统编写应用程序的能力。ODBC通过ODBC驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS)。用户的应用程序使用这组API来调度ODBC驱动程序,然后驱动程序通过SQL语句同DBMS发生联系。DBC提供了数据库管理系统的标准接口,从而使应用人员在编程时不必关心底层的DBMS,大大提高了工作效率。2.2 32位matlab与32 位sql位数据库之间的连接 2.2.1数据库的建立
在SQL Server2008中建立数据库test,在其中建立表stock。2.2.2 SQL数据源的配置
建立ODBC数据源:控制面板->管理工具->ODBC数据源->用户DNS。点击“添加”,数据源名称可任意命名。服务器选择自己指定的。2.2.3.MATLAB连接数据库M文件的编写 1 连接数据库 代码如下
>> conn=database('test','sa','123')%test是刚刚建立的数据库名称 %sa是数据库登陆名%‘123’是数据库登陆密码 2 检验数据库连接状态
>> Ping(conn);%用于查看现在数据库连接状态 3 数据写入
>>expdata=[2001 7 12 000001 0.123432];>>fastinsert(conn,{'year','month','day','id','stock_return'},expdata);备注:
(1)Conn一个变量,是用于保存数据库连接字符窜的,conn=database('test','sa','123');只要数据库已经连接上,后面就可以直接引用。
(2)'year','month','day','id','stock_return'是数据库表格中的字段名(3)expdata=[2001 7 12 000001 0.123432]是我们要写入数据库的信息,分别对应于数据表中的各个字段。这里我们写入数据库的是number型的,因此矩阵式数字型。即:expdata=[2001 7 12 000001 0.123432]。(4)写入数据前提是已经成功连接数据库。4 数据的查询 代码:
>>curs=(conn,'select * from test.dbo.stock')%建立数据库的连接 >>curs=exec(conn,'select * from test.dbo.stock where id=1')%从test数据库,stock表格里面选择 股票代码为1的股票的所有信息 >>curs=fetch(curs)%取回数据库游标里面的数据; >>curs.data%读取游标里面的数据 5 显示查询后的信息: >>curs.data 6关闭链接对象和游标——close 当不再使用数据库的链接对象时要及时关闭,这样才能及时的释放出内存,而且每次链接后所需要的内存量是非常大的,要是不及时关闭的话对后续计算的影响将非常非常的大。close(curs)close(conna)
2.3 64位matlab与64位sql数据库之间的连接(以下为网络整理未证实)
64位Matlab无法通过ODBC接口访问SQL Server,我们可以跳出ODBC,而直接使用JDBC来访问数据库
第一步,从Microsoft.COM 下载Microsoft SQL Server JDBC Driver 3.0,下载地址可以将上述关键字扔进Google中搜索就得到了。解压缩可以得到很多文件,我们需要的是其中的sqljdbc4.jar和sqljdbc.jar这两个文件。其中后者是前者的子集,只要不出问题,直接使用前者就可以了。
第二步,在Matlab中加入jar。具体做法是找到“clapath.txt”文件,例如我的这个文件位置是 “D:Matlab2010Btoolboxlocalclapath.txt”,在文件的最后加入sqljdbc4.jar的完整路径,例如我的是:“D:/sqljdbc30/enu/sqljdbc4.jar”,注意斜杠怎么写。
第三步,启动Matlab,启动过程中如果没有出错,那么这个JDBC Connector就可以用了。
上面三步就把JDBC Connector建好了。接下来我们就开始连接数据库。第一步,建立一个到数据库的连接。假设SQL Server地址是 192.30.1.117,端口是 1433,数据库名称是RTQ,用户名user,密码 pwd,那么用下面的语句建立一个到该数据库的连接。
conn=database('RTQ','user','pwd','com.microsoft.sqlserver.jdbc.SQLServerDriver',...'jdbc:sqlserver://192.30.1.117:1433;databaseName=RTQ');
参考文献
[1]MATLAB Application Program Interface Guide[C],TheMathworks Inc,1999 [2]王跃强、王纪龙、王云才,VB程序中实现调用MATLAB的方法[J],计算机应用,2001,vol.21,No.2 [3]刘炳文编著,精通Visual Basic 6.0中文版[M]北京:电子工业出版社,1999.7 [4]刘卫国,科学计算与MATLAB语言[M],中国铁道出版社,2000.4 [5]侯春生,陈汝义,袁爱进,乔 毅,唐明新.MATLAB/VB/SQL Server编程实现数据管理[J].微型电脑应用,Vol.18,No.7,2002
班级: 学号: 姓名:Matlab学习综述MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和强大的数据可视化功能集成在一起,并提供了大量的内置函数,从而......
附录1.1 管理用命令函数名 功能描述 增加一条搜索路径 addpath doc help 装入超文本文档 启动联机帮助函数名 rmpath version what which功能描述删除一条搜索路径 列出.M文......
目录一、Matlab相关说明 .....................................................................2二、Matlab操作注意事项 ..................................................
1.SQL语句的With cte as用法:with as短语,也叫做子查询部分。即定义一个SQL片断,该片断会让整个SQL语句所用到。 eg:withcr as(select CountryRegionCode from person.CountryRe......
化工计算中常用的MATLAB命令总结化学工程中的计算问题一般比较复杂, 其操作的数据对象通常是数组, 具体计算涉及到插值、求积分、参数拟合、解常微分和偏微分微分方程、解线......