基于VB与MATLAB混合编程数据库图形显示方法

时间:2022-09-09 01:03:26

基于VB与MATLAB混合编程数据库图形显示方法

摘要: 针对以往数据库中图形显示方法工作量大,数据库结构复杂,或者数据文件庞大,造成在VB环境下开发的应用程序执行效率低等问题,提出了基于vbmatlab混合编程数据库图形显示方法,采用MatrixVB插件进行数据库中数据图形显示的开发。在实验数据库中的应用表明,方便了对库中数据的查询、分析与使用,提高了效率,同时优化了数据库结构。

Abstract: It is difficult to display the data in the database because of complex structure or large data file. It is inefficient for the program based on VB to display the data in the database. We put a new figure display method based on VB and MATLAB combined programming.We use MatrixVB to display. It is convenient for data query and analyzing in the database. It had been Raised the efficiency and optimized the structure in the database of characteristic.

关键词: 数据库;图形显示;混合编程;MatrixVB

Key words: database;figure display;combined programming;MatrixVB

中图分类号:TP392 文献标识码:A 文章编号:1006-4311(2012)32-0196-02

0 引言

实验数据库系统采用SQL Server,并使用VB进行应用程序的开发,主要任务是存储实验中积累的实测数据。为了更直观的表达出关于数据和知识的信息,并对数据库中的数据进行调用和分析,这就需要增加数据库和用户之间的交流,所以,适当的运用可视化技术可以为用户做出更好的服务,并大幅度的提升数据库的使用效率,强化数据库的功能。

在以前,普遍的解决数据图形化的方法就是创建一个专门的图形库,需要显示数据图形的时候,就直接从图形库中调用需要的图形,但是这种方法存在很大的弊端,一方面是工作量很大;另一方面是这种方法改变了数据库的结构,使得数据库更加繁琐复杂[2][3]。当然也可以单独的采用VB开发数据库下的图形显示的应用程序,但是由于数据库中的实测数据繁多,并且采样率也很高,数据文件比较大,这就造成VB程序下的图形显示功能,运行的比较慢,影响工作的效率。此外,MATLAB也能够实现这一功能,MATLAB具有强大的数据分析,信号处理和图形处理的功能,但是MATLAB也有自身的局限性,它是一种解释性的语言,在执行程序的时候不能够脱离本身的编译环境,而且还没有和VB连接的接口设施。可以说VB和MATLAB二者都有着各自的优点和缺点,如何将二者的优点相互结合,取长补短,就能够使得数据库图形化问题很好的解决,因此,本文提出了二者混合编程,提高可视化应用程序的效率,并优化数据库结构。

1 基于VB与MATLAB混合编程的数据库图形显示

1.1 数据库图形显示需求分析 VB访问SQL Server数据库的时候虽然很安全和方便,但是其本身的数据图形显示功能不强,而且数据库文件大,VB在执行的时候显得更加效率低下,而试验数据文件中的数据量通常会很大,因此,利用Matlab在图形显示上的强大功能和效率,并运用VB与Matlab混合编程的方法,把数据文件中的数据进行图形化,就能够实现数据的图形化,使得数据更直观的呈现了用户的面前。

实验数据库是基于C/S结构的SQL Server数据库,针对实验数据库开发的应用程序,应尽量简便,高效,既可在客户端也可在服务器端使用。

1.2 VB与MATLAB混合编程方法 关于VB与MATLAB如何实现集成,目前主要有三种方法,分别是ActiveX技术、动态链接库(DLL)和MatrixVB插件。其中Activex控件的方法是比较方便和简单的,但是这种方法每次在VB下执行程序的时候,MATLAB会在后台启动,因为这种方法是不能完全的脱离掉MATLAB环境的,必须要在机器上安装有MATLAB,这样的话就会造成系统的运行较大,降低效率。DLL方法执行的效率高,调用也方便,但是其要求的环境复杂,生成的步骤也比较繁琐。MatrixVB适合于利用VB开发一般工程程序的要求,它直接在VB环境下开发,可方便生成可执行文件,便于,只是其提供的函数不适合处理非常复杂的数据。

1.3 混合编程在数据库图形显示中的方法选择 通过以上对数据库图形显示需求分析及VB与Matlab混合编程的方法的分析,如果利用Activex控件实现,对于数据库系统要在后台启动Matlab,执行速度将要慢许多;使用DLL方法时,对于C/S结构配置将很复杂;所以在数据图形显示方面使用MatrixVB方法,利用其可完全满足实际要求:

1.3.1 MatrixVB在VB环境下进行开发,程序设计完成后直接在VB环境下编译生成可执行的“.EXE”程序文件,完全脱离Matlab环境;

1.3.2 MatrixVB提供的函数完全满足开发需求;

1.3.3 与服务器数据库系统连接后,可在客户端远程调用,执行效率高。

1.4 混合编程与其它图形显示方法的比较 为提供图形显示数据的功能,以前解决的办法是专门建立一个图形库,先借助其它应用程序把数据图形化,然后保存成图片格式入库,并与相应数据记录关联,显示数据图形实际是调用图形库中与数据相对应的图片。这种方法在调用图片库时虽然执行效率高,实时性强,但增加了数据库结构,前期工作量大,因为每增加一条数据,都必须进行数据图形的图片化、图片入库、与相应数据关联等工作,工作流程如图1(a)所示,而且图片格式不能对图形上某一处关心的数据图形进行放大,以进行数值分析。

为了解决增加图片库带来的问题,可以开发数据库专用的数据图形显示程序,对数据进行图形显示,就是调用图形显示程序对存储在数据库中的数据进行回读并把数据以图形的方式表现出来。单独使用VB进行数据回读并显示,这种方法实现简单,工作流程如图1(b)所示,但在回读大数据文件时效率很低,而且随着数据文件的增大,执行效率急剧减小,达不到实时效果,同时,应用VB给出的图形曲线不光滑,如果需要对任意数据点进行放大,还须增加相应的控件。

本文使用MatrixVB方法实现VB与Matlab混合编程,结合Matlab在数据处理以及图形显示方面的优势,可实时对用户所选择的数据进行图形显示,并对数据文件中包含的数据头信息进行完整显示,工作流程如图1(c)所示。应用MatrixVB开发的数据图形显示应用程序到的图形曲线光滑,可任意点放大,且效率高。

2 混合编程图形显示方法在实验数据库中的应用

对于实验数据库中数据图形显示的开发,以VB为编程环境,在VB环境下使用MatrixVB语言进行设计和编程,这样的程序不仅能远程调用,还可以在服务器端调用,另外在客户端也能够调用。而且这种程序的使用非常的方便简单,当用户想要对数据库中的数据进行图形化的观察的时候,只需要在数据表单中点击数据链接,就会调用图形显示程序,使用非常的方便。利用MatrixVB在VB环境下编制的图形显示程序,对数据格式为二维数据如:时间-温度、距离-RCS等进行显示时,程序执行后的界面如图2所示。

“数据图形显示”框中,对数据文件中包含的数据,图形显示程序可以高效的识别、回读、并以图形方式显示在界面上。从图2中可以明显看出,得到的图形曲线光滑,很好的反映了实测数据包含的信息,而且在此图形上,还可以利用鼠标对任意数据点进行放大,方便用户对数据作进一步的分析。通过此程序,可看出MatrixVB具有与MATLAB一样功能较强的矩阵运算和图形处理功能,只是在调试时比单独的MATLAB环境稍复杂。相对于使用VB开发的数据回读显示程序,效率得到很大的提高:如在同一计算机配置下,数据文件1M左右(.txt格式),单位时间设为S,若使用MatrixVB方法实现VB与Matlab混合编程开发的数据图形显示程序用时为1S,则利用VB开发的数据图形显示程序需用时约8S。

基于MatrixVB的VB应用程序时,应将相应的库文件随系统一起。这些文件包括:v4510v.dll、c4510v.dll、ago4510.dll、msvcirt.dll、msvcrt.dll和MMatrix.dll。因MMatrix.dll是COM服务器,所以必须在操作系统中注册后方可使用,用以下命令进行注册:开始——运行 regsvr32 mmatrix.dll[8]。

3 结论

通过实际应用表明,VB与MATLAB混合编程的数据库图形显示方法是可靠的,MatrixVB的数据图形显示程序,相对于单独专门建立一个图形库来说,是简单的,而且还减少了数据图形图片化,入库等重要的工作。和使用VB开发的数据图形显示程序相比较,得到的图形曲线光滑,可对任意关心的数据点进行放大,特别是在处理大数据文件时,执行效率很高,在实际的实验数据库中数据图形显示应用中达到了很好的效果。

参考文献:

[1]胡永刚.数据挖掘中可视化技术综述[J].计算机与现代化,2006.10.

[2]贺全兵.可视化技术的发展及应用[J].中国西部科技,2008,(7).

[3]林卓然.VB语言程序设计.北京:电子工业出版社,2009.

[4]王薇,杨丽萍.Matlab在数据可视化中的应用[J].长春大学学报(自然科学版),2008,18.

[5]李晓竹,尹玉萍等.VB与Matlab间的无缝集成及其在故障诊断中的应用[J].计算机与数字工程,2007.

[6]孟繁娟,杜永平.VB和Matlab混合编程方法-MatrixVB[J].计算机技术与发展,2008.

[7]MatrixVB User’s Guide. The MathWorks Inc,2000.

[8]MatrixVB Reference Guide. The MathWorks Inc,2000.

上一篇:基于大众消费的企业生产研究 下一篇:如何利用地震GPS监测网构建福建省CORS网络