姜元政 左嘉
一、引言
Matlab(Matrix Laboratory,矩阵实验室的缩写)是是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境.它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平[1].MATLAB拥有一个独立的计算环境,不仅可以在个人计算机上运行,还可以网络服务运行,移植性也非常好,公认的功能强大,应用广泛,MATLAB还提供了编程接口,可扩充能力强,适于二次开发.随着Internet的发展,Matlab还提供了虚拟处理环境的网络计算模式,大提高了科学计算、实验仿真、信息处理等方面的能力,充分利用了资源,我们可以通过安装MATLAB Web Server[2],利用Web技术来实现无终端计算,即所谓的B/S计算模式.
二、B/S模式下MATLAB Web应用的原理
要实现MATLAB的Web应用,所需的关键组件是WebServer Daemon和MATLAB Web Server.MATLAB Web Server通过TCP/iP在客户端和MATLAB服务器之间传送数据.在最简单的配置里,Web浏览器在客户端运行,而MATLAB、Matlabserver和Web ServerDaemon在服务器上运行.Web Server能够运行通用网关接口CGI程序,常用的有Apache和IIS等.Matlabserver采用多线程的TCP/IP服务方式,桥接于Matlab与Web应用程序的信息通讯,而matweb是Matlabserver的TCP/lP客户端程序,它利用CGI从HTML文件中提取数据并传给Matlabserver.
MATLAB Web应用的原理如图l所示.首先,当客户端将网页中的输入参数后,再提交给http服务程序,http服务程序通过CGI调用matweb服务代理,而matweb通过内部协议与Matlabserver通讯, Matlabserver调用相应的M文件到MATLAB进行计算,任务完以后,Matlabserver以文本或HTML的形式把结果传送到matweb服务代理,matweb再通过http服务程序将结果以网页形式输出给客户端.
图1MATLAB Web应用的原理图
三、配置 MATLAB Web Server
1.安装 MATLAB 和 Matlabserver ,并启动 Matlabserver 服务
在安装有 Windows 2008 Server 和 IIS7.0 的计算机上,通过运行 MATLAB的安装程序来安装 MATLAB 和Matlabserver,安装完毕后重新启动计算机,启动Matlabserver 服务.
2.配置 IIS
打开IIS管理器,新建一个Web 站点 ,并在该站点建立三个目录 ,分别是cgibin,icons和mages,其中cgibin用来存放 CGI 文件,icons用来存放 MATLAB生成的图片文件和应用程序所需的图片文件 , mages用来存放HTML 文件和 M 文件,最后为各目录设置好目录属性.
3.建立并设置 MATLAB 配置文件
在新建Web站点的根目录下,建立配置文件matweb.conf 和 Matlabserver. Conf,并对其进行配置.
matweb.conf 的内容如下 :
[bhmathxx]
mlserver = 192.168.1.10
mldir =E:/webserver
每增加一个MATLAB Web应用,需在 matweb.conf 中增加一项配置.
Matwebserver.conf 的内容如下:
-m 1
-p 80
四、MATLAB Web应用程序
相应配置完成以后,针对具体的应用可以开发相应的MATLAB Web应用程序.要解决的两个关键问题,分别是MATLAB程序如何通过HTML输入文件获取输人参数问题和如何生成包含输出数据和图片的HTML文件问题?其中主要工作包括:
1.设计HTML输入网页
设计HTML输入的网页,其中输入的参数主要是通过页面中的表单来完成,形式如