科学工程计算和图形部件
科学工程计算和图形控件组包括数值计算控件、信号处理和表示控件、信号动态波形表示控件、二维科学图形控件、三维科学图形控件等一系列解决科学和工程中科学计算以及计算数值结果图形表示的ActiveX控件。
在科学技术高度发展和计算机广泛应用的今天,科学计算和计算机紧密结合,应用十分广泛。特别是原来很多需要专门芯片计算的问题,现在可以用软件来实现,也为科学计算软件的应用带来了新的机遇。数值计算、信号处理和科学图形在生物医学工程、航空航天、振动工程、无损检测、石油勘探、水利电力、自动控制、仪器仪表、水文、雷达、通信、声纳、遥测遥感、医学等许多领域有着十分广泛的应用,无论是系统仿真、理论模拟还是仪器制作、数据分析统计、系统测控都与科学计算、信号处理和科学图形的理论和算法存在千丝万缕的联系,它们在各技术领域的渗透几乎无孔不入。
但是由于科学与工程计算涉及到较深奥和较广泛的数学和理论知识,对于比较复杂的算法设计,需要熟悉相关数学知识,通晓相关理论基础,以及熟练计算机软件编程和算法设计,因而造成它们和实际的结合具有一定的难度。
为了把科学计算、信号处理等复杂的理论更好地应用到各技术领域,国内很多科技工作者开发了很多算法程序,并以源代码的形式出版在各种书籍之中,如1995年由电子工业出版社出版的《C语言数值算法程序大全》,1993年由学苑出版社出版的《Microsoft C科学与工程工具库》,1988年由科学出版社出版的《数字信号处理程序库》和《振动信号处理程序库》等等,书中提供了用FORTRAN 语言、C语言、BASIC语言编写的源程序,但是不够全面和规范,比较零散,缺乏集成,甚至包含有印刷等错误。这些书籍中的算法程序,在一定程度和范围上满足了部分专业技术水平较高人员的需要,但还远远不够。其原因在于(1)对使用者的技术和理论水平要求较高;(2)即使拥有了源程序,对用户来说仍然需要录入、修改和测试程序,花费大量的时间。(3)程序比较零散,不容易灵活地组合各种算法;(4)大部分程序是以Fortran语言提供,翻译成当今流行的语言很难;(5)已经不能满足当前计算机软件发展的要求;(6)不易移植到当今流行的操作系统上运行;(7)不易与当今流行的软件开发工具结合。
美国Mathworks公司从事了十多年的科学计算和科学图形方面的研究和软件产品开发工作,研制了高性能数值计算软件系统MATLAB,它集数值计算、科学图形、编程环境和解释语言于一体,是一套高性能数值计算和数据分析软件,已经成为了工程和科学研究的工业标准,为国内外广大科学家和工程师使用。但是MATLAB自成体系,不能在通用软件开发工具(如Visual C/C++, Visual Basic, PowerBuilder等)中直接调用,用户很难把其中优秀的算法、漂亮的图形嵌入自己的应用程序之中。因此它的应用只限于科学研究、理论模拟和仿真以及数据分析之中,不能把它嵌入到自己的软件产品之中。然而MATLAB的广泛流行使用,对于科学与工程计算控件的推广应用将起到积极的作用,因为我们可以先用MATLAB来快速实现理论模拟仿真实验,最后用控件来实现算法,做成应用软件。
所以科学计算、信号处理和科学图形ActiveX控件是计算机软硬件发展的产物,是科学技术高度发展的产物,是各学科领域应用需求的产物。首先,随着个人计算机的高度发展,高速度、大内存和大硬盘的个人计算机的出现为科学计算和科学图形软件在个人计算机上的实现提供了物质基础;特别是计算机软件和编程工具的巨大发展,面向对象的编程和可视化编程已经成了软件开发的主流。这些控件正是为了适应计算机软硬件发展,把数值计算、信号处理和科学图形融为一体而研制出来的一套实用的开发工具包。它适合于多种软件开发工具(如Visual
C/C++,Visual Basic, Visual Foxpro、Power Builder等),是面向对象编程的功能部件。数值计算、信号处理和科学图形加入到控件这个大家庭的同时,也为应用软件开发人员提供极大的想象和便利,提供十分有价值的选择。有了这些控件,应用软件开发人员就不再需要为复杂的信号处理算法担忧,也不用去设计复杂的科学图形程序了,只要将控件加入应用软件中,设置控件中的一些属性和调用控件中一些方法,就可以实现原来望而生畏的许多功能,就可以把有限的精力集中
到主要目标上,用最短的时间、最少的经费和最少的人员开发出功能强大、界面精美、非常实用的应用程序。其次,随着信息处理技术在各学科领域的不断广泛和深入的应用和计算机的普及,人们希望计算机不只是办公、数据库管理的工具,更希望它是数据分析、测量控制、辅助设计和复杂计算的工具,把计算机的应用提高到更高的水平。数值计算、信号处理和科学图形ActiveX控件组正是为计算机的这种应用提供了强有力的基础。数值计算、信号处理和科学图形的应用十分广泛,是很多应用技术的基础,但是应用起来又十分困难,问题是没有人们使用起来简单方便的工具。有了科学计算、信号处理和科学图形控件,用户只须了解一些基本概念,就可以利用控件的属性、方法和事件进行编程,完成您复杂编程任务。对于推广这些理论方法在各技术领域的应用具有十分重要的意义。
数值计算、信号处理和科学图形又是联系紧密、互相渗透的几个领域,例如在信号处理中存在大量的数值计算,而数值计算和信号处理的结果又经常用科学图形来表示。在这些控件中不仅包含了许多传统的算法,而且对这些算法进行了规范,并且引入了一些最新的算法。我们把这三方面的控件集中起来,构成科学与工程计算和图形控件组,以便人们更好地使用它们,利用面向对象的可视化编程工具和其他控件来解决自己领域的问题。
信号静态波形浏览可用于直观地以波形形式显示所采集的数字信号,并对其进行测量和打印等各种操作,在计算机屏幕上可显示多通道数字信号波形,对波形进行翻页显示,设置每屏显示的数据点数,对波形进行宽度和高度测量、点测量,波形打印,实现数据文件打开、保存,设置波形的曲线颜色、背景颜色、坐标网格颜色,控制波形重叠或分开显示,选择一段波形,控制坐标网格、工具条、状态条、标题栏的显示或隐藏等。
信号动态波形浏览可用于信号实时动态波形监视和回顾,并可与自适应信号处理方法相结合,实现自适应信号处理和监视任务。可选择滚动或刷新两种波形更新方式,多通道波形可重叠或分开显示,可设置背景颜色、波形颜色,可给特定时间点加标记,改变波形滚动或刷新的方向等。
二维科学图形控件包括曲线图、直方图、饼图、极坐标图等各种图形。并可通过控件的属性和方法来设置图形的不同属性,如边框、背景、坐标网格,曲线的线型、线色,直方图的条色、立体效果等。三维科学图形控件包括立体网格图、线阵图、填充图,等高线图等。并可通过控件的属性和方法来设置图形的特性和呈现形式。
数值计算控件包括插值、微分、积分、解方程、矩阵运算、特殊函数计算、曲线拟合、概要统计、线性回归、统计检验、数据平滑、数值排序、数据压缩、线性规划等许多算法,可以直接调用。
信号处理控件包括相关和卷积、滤波器设计和滤波、自适应滤波、正交变换、功率谱估计、AR模型参数估计、随机信号产生等许多信号处理算法函数,可供用户直接调用。
ChengBo Software Workshop
Email: ChengBoSoft@126.com