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

来源 :数学学习与研究 | 被引量 : 0次 | 上传用户:cqssq
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一、引言
  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的这种计算模式,当然免不了也存在缺点.如果大量的客户端同时进行计算,服务器的计算能力分散并降低,会造成结果返回延迟.为了避免这样的问题发生,服务器的计算能力要加强,更需要引用云计算技术.
其他文献
锁骨和肩胛骨恶性骨肿瘤传统的治疗方法是根治性截肢术,致残率高。近年来,由于新辅助化疗为主的综合治疗的应用,多种保肢手术已逐步取代截肢手术。我院自1998年10月至2005年5月,
美国作为世界第一强国,科技在其中做了很大的贡献。对于美国来说,高科技带来的技术先进,是教育培养的高科技人才带来的。和中国相比,虽然中国拥有占全世界四分之一的人口和资源总量丰富的优势,也同时具有了廉价劳动力和生产资料,却在竞争中只获得30%甚至更少的产品利润,很客观的分析就是中国的技术比不上美国的高科技。日本二战后经济陷入瘫痪,没用多久日本便扭转了局面,跃居资本主义世界的第二大强国。从古至今日本对我
<正> VIA(威盛科技)的VIA P4&#215;266芯片组作为第一代Pentium 4的DDR芯片组,价格优惠,性能不错,本应有较好的市场,但Intel高举法律大棒,使大量厂商不敢推出使用VIA芯片组的
骨巨细胞瘤(GCT)约占骨肿瘤的5%,好发于青壮年,无明显性别差异,20~40岁发病者占70%~80%,约50%位于膝关节周围,以股骨远端、胫骨近端最多,其他发病部位依次为桡骨远端、腓骨小头、股骨近端,约
在初等数学组合中,有经常比较Cm1n和Cm2n大小的数学问题,如何有效地比较Cm1n和Cm2n的大小,是摆在数学爱好者面前的问题,本文提供研究比较Cm1n和Cm2n大小的几种方法,供大家参
笔者有一20GB移动硬盘.为求“稳定”,笔者都会为其接上电源,但有一次到家接上电脑电源.按下电源键.发现电脑没有反应,断开插座上的电源,再次按下电源键,还是无法启动。但笔者发现移动
<正> 故障原因:笔者的某品牌机本来是用的Windows98操作系统,考虑到自己的学习需要和机器的性能,准备换成Windows 2000系统。在进入Windows 2000时,屏幕一黑,重开机,就这样周
新课程理念下的数学课堂教学,不应该拘泥于预先设定不变的程序,而应是在预设目标达成过程中,开放性的纳入一些师生在教学互动中的即兴创造,超越预定目标.学生不再是接受知识