用Delphi和MATLAB集成开发粤东柘林湾海洋生态环境多元统计分析系_第1页
用Delphi和MATLAB集成开发粤东柘林湾海洋生态环境多元统计分析系_第2页
用Delphi和MATLAB集成开发粤东柘林湾海洋生态环境多元统计分析系_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用Delphi和MATLAB集成开发粤东柘林湾海洋生态环境多元统计分析系    2012-03-15     论文导读:MATLAB是一个具有数值计算和符号计算能力的专业数学软件,其基于矩阵的计算方法使它对于大批量数据具有很高的运算效率,且计算结果准确、精确性极高.    MATLAB是一个具有数值计算和符号计算能力的专业数学软件,其基于矩阵的计算方法使它对于大批量数据具有很高的运算效率,且计算结果准确、精确性极高.同时, MATLAB拥有一个规模庞大、应用范围极广的工具箱(

2、Toolbox), Statistics就是其中的一个工具箱.利用这个工具箱可以方便、快捷地建立海洋生态环境的多元统计分析模型,而且程序代码非常简洁.Delphi是一种高效率的应用程序开发工具,其功能强大的可视化部件库可使手工编写的代码降至最少.特别是Delphi拥有强大的数据库引擎(BDE),可以通过SQL Links、ADO、ODBC等多种方式访问多种数据库,并具有大量集成的数据库开发部件,使得它可以开发出功能强大的基于Client/Server模式的数据库管理系统.所以,Delphi一直备受数据库开发者的青睐.但是, Delphi在处理数值问题和算法问题方面,其效率远远低于MATLAB软

3、件,特别是要对从数据库里筛选出来的大量数据进行数值运算或模型分析时,用Delphi编程更是一件繁重的工作.因此,如果能将Delphi与MATLAB有机结合起来,实现优势互补,将可免除编写复杂的算法程序的困扰.但是,MATLAB本身并没有提供与Delphi的接口程序,在这种情况下,如何实现两者之间的连接便成了问题的关键.由于Delphi和MATLAB for Windows版都支持ActiveX Automation服务器协议和DDE技术,作者利用ActiveX Automation服务器和DDE技术实现了Delphi应用程序与MATLAB之间的程序调用和数据交换,设计出海洋生态环境多元统计分析

4、及其数据库系统.用ActiveX Automation服务器与DDE技术实现Delphi与MAT-LAB的连接 ActiveX Automation服务器简介ActiveX Automation是一种允许一个应用程序(客户端)去控制另一个应用程序(服务器端)的协议,即使用ActiveX Automation可以实现两个或多个组件的无缝连接.在本系统中,我们通过建立一个Delphi与MATLAB之间的ActiveX自动化连接,实现了在Delphi应用程序中调用MATLAB的功能,从而使系统能完成各种复杂的数学计算.DDE技术简介DDE (Dynamic Data Exchange,即动态数据交换

5、)是Windows支持的进程间的通讯机制.DDE机制是基于Windows的消息机制,两个Windows应用程序通过传递DDE消息进行DDE会话(Conver-sation),它允许两个或两个以上的应用程序之间进行实时的数据交换.通过建立DDE会话,一个应用程序可以和另一个应用程序进行通讯.其中,请求建立DDE会话的称为客户端,而响应的一方称为服务器.在本系统中, MATLAB是作为ActiveX Au-tomation服务和DDE服务使用的,而Delphi应用程序则作为客户端.建立DDE连接首先在Delphi的窗体上放两个控件: DDE-ClientConv1和DDEClientItem1,其

6、中, DDE-ClientConv1用于在客户程序中建立和维护一个DDE会话; DDEClientItem1用于在客户程序中建立和维护数据交换通道.然后,设置DDEClientConv的属性,将属性ConnectMode的值设为ddeManu-al,其它属性的值缺省;设置DDEClientItem的属性,将属性Ddeconv的值设为DdeClientConv1.编写算法程序用MATLAB完成算法程序的编写.至此,在Delphi中便可通过DDEClientConv和DDEClientItem组件与MATLAB的Automation服务器模块进行对话,完成多元统计的计算分析任务.具体的程序设计限于

7、篇幅,本文以算法程序比较简单的判别分析为例,说明本系统如何将MATLAB作为Ac-tiveX Automation服务器和DDE服务器以及如何将Delphi应用程序作为客户端而实现Delphi应用程序与MATLAB之间的程序调用和数据交换.图2是其实现界面,点击图中的"进行判别分析"按钮.Delphi把数据筛选后放到String-Grid控件中显示给用户看,同时把数据保存为doc文件形式,并启动MATLAB Automation服务器,MATLAB将初始数据以矩阵形式读入工作空间(Workspace),并进行模型计算,计算结果输出给class变量,再由Delphi读取到指定

8、的StringGrid控件中告诉用户返回的结果.海洋生态环境多元统计模型简介及相应的实现界面 判别分析判别分析是根据样本的观测指标来推断该样本所属类型的一种统计分析方法.目前,主要应用在对赤潮的预测研究中.即将目前各环境因子监测值代入基于历史资料而建立的判别函数,根据判别值预测赤潮的发生.其实现界面如图2所示,模型会根据图中所给的Training参数及其对应的Group值,通过计算分析,判断出参数Sample所属的Group值.逐步回归分析回归分析方法以浮游生物数量或叶绿素a等作因变量,以溶解氧、无机氮、无机磷等环境因子做自变量,建立浮游生物数量和环境因子的线性函数关系.逐步回归可剔除与浮游生

9、物量相关性不显著的变量,从中发现影响浮游生物增殖的关键因子,并根据生物数量同环境因子的相关系数大小来判断环境因子对生物增殖的影响程度.聚类分析聚类分析是将研究的对象按其共性进行分类,目的在于辨认在某些特征上相似的事物,并把事物就这些特征划分成若干类,使在同一类的事物具有高度共质性,而不同类的事物具有高度相异性.主成分分析主成分分析是把多个变量化为少数几个综合指标的一种统计分析方法.即用少数几个主成分取代全部变量,主成分之间相互独立,消除了原变量间的相关性,并且保证信息几乎无损失,从而达到压缩数据的目的.在海洋生态学研究中,通过主成分分析可以将同一海区不同时间的生态变化过程中的物理、化学、生物等互相关联的环境因子监测值进行变换组合,在不改变原有数据信息的基础上,形成一组互不相关的新变量,以求更集中,更明确地寻求诱发赤潮灾害、水产灾害、资源退化等生态灾害的主要环境因子.其操作界面如图6所示,本模块可以在数据库中提取n列数据(即n个变量),并对这n个变量进行主成分分析.Delphi和MATLAB是两个功能都十分强大的软件,它们各自都有十分突出的优势.本文利用Ac-tiveX Automation服务器与DDE技术实现了Del-phi与MATLAB之间的无缝连接,使两者的优势得到充分的发挥.即系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论