Matlab的B/S模式实践应用研究

2015-05-30 08:13姜元政左嘉
数学学习与研究 2015年19期
关键词:表单应用程序网页

姜元政 左嘉

一、引言

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输入的网页,其中输入的参数主要是通过页面中的表单来完成,形式如

[4].表单中输人变量是mlmfile,用来标明处理该表单的Matlab程序名的,是隐含属性,例如:,其中value值为接受该表单参数的Matlab程序.

2.编写Matlab的M函数文件

针对具体应用的MATLAB程序都要定义成函数的形式,即:

function函数返回值=函数名(形式参数变量)

该函数的主要功能是实现输入参数接收、处理,并将处理结果输出.输入参数接收上述函数定义中,函数返回值是以字符串形式来处理的,由matweb创建一结构变量,其成员包含HTML输入文件里的所有输入数据以及mlmfile、mlid、IIlldir等,然后进行数据处理,调用MATLAB各种函数程序来计算,最后完成数据处理[2].

然后,MATLAB程序将计算结果写入结构变量中,再调用函数htmlrep,将结构变量中成员变量的值传递给HTML输出网页中所有的同名变量,达到输出的目的.

3.设计HTML输出网页

HTML输出网页我们是先设计好的,主要用于计算结果的输出.在此设计中要注意的是,HTML代码中对变量要加 “$” 标记符号,函数htmlrep将用这些加标记的变量赋值并生成HTML输出.

五、结束语

MATLAB在B/S计算模式可广泛应用,具有非常好的可扩充性和可开发性,在教学是,可用于远程虚拟实验系统,还可以根据实践教学需要,开发新的实用工具箱.

MATLAB的这种计算模式,当然免不了也存在缺点.如果大量的客户端同时进行计算,服务器的计算能力分散并降低,会造成结果返回延迟.为了避免这样的问题发生,服务器的计算能力要加强,更需要引用云计算技术.

猜你喜欢
表单应用程序网页
电子表单系统应用分析
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
基于CSS的网页导航栏的设计
浅谈网页制作中表单的教学
基于URL和网页类型的网页信息采集研究
网页制作在英语教学中的应用
10个必知的网页设计术语
动态表单技术在教学管理中的应用*
基于Java可视化测绘生产流程表单的设计及实现