简介:关于对不知道怎么写函数数据论文范文课题研究的大学硕士、相关本科毕业论文函数数据论文开题报告范文和文献综述及职称论文的作为参考文献资料下载。
石剑平姜麟徐润林(昆明理工大学理学院数学系 云南昆明 650093)
摘 要:论文介绍了Matlab数据库工具箱中的主要函数,并以人口与劳动力数据库为例,通过Matlab数据库工具箱导入数据,完成一个多元线性回归模型.实例说明利用Matlab数据库工具箱处理数据,避免了人工录入耗时、出错等问题,有效地提高了工作效率.
关键词:数据库工具箱;数学建模;回归模型;Madab
0引言
随着计算机逐渐成为人们工作和生活的常用工具,计算机技术日新月异的发展,各行各业的问题涉及的资料和数据量日益庞大.如何有效地选择恰当的软件、利用计算机来处理和分析数据是一个非常值得研究的问题.纵观近几年的大学生数学建模竞赛试题,越来越多的题目都有大量的数据作为建模的背景资料,例如2009年的题目《眼科病床的合理安排》和《制动器试验台的控制方法分析》、2007年的《中国人口增长预测》、2006年的《出版社的资源配置》等等.
很多学生面对这些看似庞杂的数据时,常常感到束手无策.一些学生利用常用的Excel等工具分析数据、绘图,但是Excel有限的算法和较为单一的图形绘制,往往使得到的结果相对比较粗糙;有些学生经常要花费大量的时间通过编写程序来读取和处理数据,这样不仅会浪费时间,也不容易得到好的结果.
Matlab数学软件是一种用于科学计算的高性能语言,具有友好的工作平台和编程环境、简单易用的程序语言、强大的科学计算和数据处理能力、出色的图形处理功能等优点,长期以来深受广大工程技术人员和科研人员的欢迎,也是数学建模中广为推荐使用的工具之一.目前很多高校的理工科专业,均开设了必修或选修的《Matlab语言》课程,作为理工科学生应掌握的一项基本软件.
然而,在人们日常的数据收集和整理中,大多数的数据是以非Matlab的数据格式存在的,如TXT文本文件、Excel表格、Access数据表,更为专业的甚至有Oracle或者SOL Server等数据库文件.很多学生在掌握了大量Matlab命令和编程语言后,仍然无法有效的使用Matlab来做数据分析和处理,原因就在于Matlab不能直接操作上述这些数据文件.
Matlab还具有一个强大的功能,就是它的工具箱一一个解决各种专门问题的应用程序大家族,它是Matlab函数的全面集合,扩展了Matlab解决特殊类型问题的环境.数据库工具箱就是其中之一,它能够使MATLAB与通用关系数据库进行数据交流.使用数据库工具箱,可以从一个数据库将数据读到MATLAB工作区,然后用MATLAB的计算和分析工具处理数据,并且把结果保存到原来的数据库或另一个数据库.
本文以数学建模中的人口模型为例,介绍利用Matlab数据库工具箱进行数据处理和分析的具体方法,通过这个实例说明Matlab数据库工具箱在数学建模中的应用.
1.数据库工具箱简介
数据库工具箱由两个部分组成:函数和VQB(可视查询生成器).VQB是一个图形界面,用来在数据库和Matlab之间交换数据,操作简单,是一个容易使用的工具.鉴于数据库工具箱函数能够做VQB可以做的事情,也能够完成VQB不能完成的工作,所以本文主要介绍使用函数来解决问题的方法.数据库工具箱函数的功能,包括连接数据库、从数据库将数据读取到MATLAB、MATLAB将数据输出到数据库、关闭连接等.
下面着重介绍几类常用的操作函数.
1.1数据库连接函数
在程序中将数据库连接到MATLAB,使用database函数.
(1)用于ODBC驱动程序的语句
conn等于database(’datasourcename’,’ username’ ,’password’)
其中conn为连接定叉的对象,或连接成功后MATLAB返回的连接对象:datasourcenam为数据源名;username和password是被连接数据库的用户名和口令.如果没有,它们要写成空串.一个程序可以连接多个数据库,即打开多个数据库.
(2)用于JDBC驱动程序的语句
conn等于database(’databasename’ ,’ username’,’password’,’driver’,’databaseurl’)
其中driver为JDBC驱动程序:databaseurl是DatabaseURL.
(3)建立并打开游标函数
游标用来指示记录集(表)中所操作的位置.建立游标,是建立游标的一个对象.一个游标对象唯一对应于一条有效的SQL语句.函数调用格式:curs等于exec(conn,’sqlquery’)
其中conn为已建立的连接对象;sqlquery为SOL语句;exec指执行SQL语句并打开游标的函数.执行exec函数,MATLAB将游标对象返回给变量curs(建立了游标),并且返回有关游标对象的信息,同时打开游标.一个程序可同时建立多个游标,也就是说,可进行多个查询.
1.2从数据库将数据输入到MATLAB
将数据输入到MATLAB,将用到多个函数.
(1) logintimeout函数
建立数据库连接前,用此函数设置最大连接时间或查看前面设置的连接时间,单位为秒.在设置的时间内,如果连接不成功,MATLAB停止连接,如MATLAB是正常的,可以查找失败原因后再连接.函数调用格式:
timeout等于logintimeout(time),设置时限,用于ODBC.
timeout等于logintimeout,得到已设置的时限,用于ODBC.
(2) ping函数
使用此函数得到数据库连接对象conn的状态信息.若连接为打开,则给出错误信息.函数调用格式
ping(conn).Conn是已建立的连接对象
( 3) setdbprefs函数
此函数用于设置数据格式、错误处理和将出现的NULL数(它们被统称为属性)的优先权,或者查看这些属性的当前优先权.调用格式有如下一些方式:
setdbprefs({&,acute, propertyl’:等},{’valuel’:等)),setdbprefs函数对列出的一个或多个属性,按顺序为他们设置优先权.优先权只在当前会话期有效:
setdbprefs(’property’),setdbprefs函数取得指定属性当前的优先权值:
setdbprefs,setdbprefs函数取得所以属性当前的优先权值.
( 4) fetch函数
将数据输入到MATLAB.调用格式为:
curs等于fetch(curs, RowLimit),RowLimit是参数一次读入的行数:
( 5) close函数
用于关闭数据库连接、游标和resultset的对象.函数的调用格式为:
close(object),object代表数据库连接、游标和resultset的对象-curs、conn和rseto
1.3从MATLAB输出到数据库
(1) get函数
此函数用于得到对象的属性.常用的对象有如数据库连接对象、数据库游标对象等.函数调用格式:
v等于get(object);
v等于get(object,’property’)
前者get函数得到对象所有属性的结构数组及对应的属性值,并把结构数组指定给v.后者get函数得到对象某个属性的值,并把值赋给v.
( 2) insert函数
此函数用于将数据从MATLAB添加到数据库表.函数调用格式:
insert(conn,’tab’,colnames,exdata)
其中conn为连接对象;’tab’为数据库表名,数据将写进这个表:colnames是数据库表的列名,数据将写进这些列;exdata是MATLAB变量.
( 3) commit函数
commit函数确认数据库的改变,使改变永久化.函数调用格式:
commit(conn)
1.4更新数据库中已存在的信息
对数据库的数据进行修改或更新,是数据库经常要做的工作.更新数据库中的数据常用update和其他几个函数.
(1) update函数
update函数用MATLAB的数据替换数据库表中的数据.函数调用格式:
update(conn,’tab’,colnames,exdata,’whereclause’)
其中tab为被修改的数据库表名;colnames为被修改的字段名,必须作为字符串放在单元数组内;exdata为MATLAB变量,可以是单元数组、数字矩阵或结构数组.输出数据放在这个变量中:whereclause是SOL命令的where子句,按照它规定的条件替换指定字段的数据.
(2) set函数
set函数为连接、游标或drivermanager的对象设置属性值.函数调用格式:
set(object,’property’,value),set函数为指定的对象object设置属性值.
( 3) exec函数
exec函数除了可以打开游标和执行查询,还可以执行commit或rollback任务,可以代替commit或rollback函数.执行这两个任务时,AutoCommit的状态一定要设为off.
函数调用格式:exec(conn,’commit’)或exectconn,’rollback’)
Matlab数据库工具箱的函数非常丰富,限于篇幅,本文仅介绍上述常用的函数.有兴趣的读者可参阅专门的教材或文献.
2.人口统计资料数据说明
本文中所用的人口与劳动力数据库是从中国自然资源数据库中的中国资源环境经济人口数据库中下载的,中国自然资源数据库是由中国科学院数据库及其应用系统项目提供支持,主要为地学、资源环境科学研究、管理决策及其相关人员提供数据支持.文件下载格式为txt,经整理在SQL Server200中创建名为“人口与劳动力”数据库.库中包含“人口状况全国”、“人口状况1998分省”、“人口数及自然变动情况分省”等20类合计59张数据表(参见图1).下文中用Matlab数据库工具箱导入和处理的数据均来自此数据库中的相关数据表.
3.应用实例方法和步骤
建立Matlab与数据库连接之前,要先为即将操作的数据建立ODBC数据源.创建数据源的方法与常规的方法一致,这里不再赘述.假设已在windows XP操作系统下的ODBC数据源中创建了基于SOL Server200的数据源“aaa”.
本文的实例将通过读取人口状况分省系列表的数据( 1991-1998),使用Matlab的多元线性回归函数实现一个回归模型.通过本例向读者展示,在Matlab数据库工具箱的帮助下,Matlab可以自由并快捷、方便的处理SQL Server2000中的数据.
步骤一:连接数据库
(1)用Iogintimeout函数设置最大连接时间为5秒:timeoutA等于logintimeout(5)
(2)用database函数连接到ODBC数据源aaa, connA等于database(’aaa‘,¨,¨)
(3)用ping函数得到数据库连接对象conn的状态信息:ping(connA)
步骤二.设置状态信息
(1)设置数据返回格式的优先权值:
setdbprefs(’DataReturnFormat‘,‘numeric‘):
(2)设置数据错误处理优先权值:
setdbprefs(’ErrorHandling‘,‘report‘):
步骤三:建立游标并将数据读出到游标对象
(1)对已连接的数据对象connA执行sql查询语句,并将查询结果返回给游标变量cursorAl:
cursorAl等于exec(connA,’select年底总人口,男性人口,女性人口,人口出生率,人口增长率from人口状况1991分省where编号等于110000’):
步骤四:将数据读入Matlab:
(1)使用fetch函数将数据输入Matlab,存储成numeric类型的数据集矩阵:cursorAl 等于fetch(cursorAl):
论文范文数据:43.ThinkPHP3.1.3使用视频教程--个人博客实例讲解(十六)数据缓存S函数的使用
(2)通过游标对象的Data域显示数据,并存储在matlab的普通变量中:AAl等于cursorAl.Data:
步骤五:反复使用步骤三和步骤四,读取1991-1998的数据到AAl -AA8变量中
步骤六:使用线性回归函数regress得到线性回归模型,程序段如下所示: x1 等于[AAl(),AA2(),AA3(),AA4(),AA5(),AA60,AA7(),AA8()] X等于【ones(size(X1(:,1))),x1(:,2:5)】 Y等于×1(:.1) [b,bint,r,rint,stats】等于regress(Y,X,0.05), b,bint,stats
其中,输出向量b,bint为回归系数估计值和它们的置信区间, r,rint为残差及其置信区间.stats是用于检验回归模型的统计量,有三个数值,第一个是R2,其中R是相关系数,第二个是F统计量值,第三个是与统计量F对应的概率P,当P<,alpha时拒绝HO,模型成立.alpha为显著性水平,默认设为0.05.
由上述步骤程序段组成的M文件,在运行后,可得到线性回归模型为
y等于-202.02 58- 6.5676x 1+9.9907x2-49.4207x3+34.6129x4
计算结果中模型对应的状态变量stats的值为:R2等于0.9848,R等于48.4893,P等于0.0047,回归模型成立.
4.结论
综上所述,利用Mat『ab的工具箱函数,很容易就能把数据库里的大量数据整合成Matlab的数据形式,再完成计算、建模、绘图等其他软件需要复杂编程才完成的工作,在充分利用和发挥Matlab强大功能的基础上,避免了大量数据录入耗人工、易出错等问题.无论是从提高效率还是降低人工成本等角度来看,都具有非常重要的实际意义.
参考文献
[1]苏金明,黄国明,刘波.MATLAB与外部程序接口[M]北京:电子工业出版社,2004.
[2]陈杰.MATLAB宝典[M],北京:电子工业出版社,2007
[3]刘国华,包宏,李文超,基于www的人工神经网络系统的实现方法[J].计算机工程,2001,27(6):17-19.
总结:本论文可用于函数数据论文范文参考下载,函数数据相关论文写作参考研究。
论文范文数据引用文献:
[1] 数据分析论文范文 数据分析方面参考文献格式范文2万字
[2] 数据论文范文 数据论文例文2万字
[3] 数据安全论文范文 数据安全类有关论文范本2万字