基于MATLAB Web Server的网络虚拟实验室的研究

来源 :光盘技术 | 被引量 : 0次 | 上传用户:zero_ak47
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:论述基于MATLAB Web Server的网络虚拟实验室的构架原理、构建方法,并给出示例调试的结果。
  关键词:MATLAB Web Server;网络虚拟实验室;Web服务器
  中图分类号:TP302文献标识码:A
  
  Research Of Network Virtual Laboratory Based on MATLAB Web Server
  XIE Xue-yan
  (North University of China,Shanxi Taiyuan030051)
  Key words: MATLAB web server;network virtual laboratory;web server
  
  在教学和科研中往往会遇到复杂计算、数据分析、图像处理等问题,以往通过单机版MATLAB软件就可以解决问题,由于网络的发展,Math Works公司的MATLAB Web Server可以实现网络上的计算、分析以及图像处理,基于MATLAB Web Server的网络虚拟实验室也应运而生,利用这样的特性,教学和科研有了新的实验途径,同时也给教学和科研提供了方便。
  
  1 基于MATLAB Web Server[1-2]的网络虚拟实验室系统构架
  
  1.1网络虚拟实验室框架
  基于MATLAB Web Server的网络虚拟实验室是一个纯软件虚拟实验分析系统,它采用B/S(Browser/Server)模式,在该模式下,用户端只需使用标准的Internet浏览器就可以展现实验的过程。其构架如图一所示:
  


  其中包括Web服务器、Matlabserver服务器以及通过网络和服务器相连接的若干个浏览器。其构架简单,便于实现,不管是在广域网或是局域网构架相同。
  1.2基于MATLAB Web Server网络虚拟实验室工作原理
  MATLAB Web Server的核心是matweb.exe,它能够运行CGI程序,而且基于TCP/IP协议。通过创建一个MATLAB应用程序来接收从客户端传送过来的数据,该文件负责解释客户机通过HTML网页发送的请求,转换为运行MATLAB应用程序所需要的参数,接着启动一个MATLAB进程,并将指定的MATLAB应用程序及其参数传递给该进程进行计算。计算完毕后,MATLAB程序还要负责将计算结果以HTML网页的方式,通过matweb输出给客户端的浏览器,这个过程是网关程序matweb和用户编制的MATLAB应用程序协作完成的。其工作的原理图如图1所示:
  图1中在浏览器端,用户通过浏览器访问Web服务器中的HTML页面,填写相关实验参数,提交给Web服务器,Web服务器将提交的参数通过MATLAB中的matweb.exe文件传给Matlabserver服务器,并交MATLAB进行计算后,将结果通过Matlabserver服务器连接matweb.exe并回传给Web服务器,Web服务器再将实验结果通过HTML返回给用户浏览器端。
  
  2 基于MATLAB Web Server的网络虚拟实验室构建
  
  基于MATLAB Web Server的网络虚拟实验室构建主要有Web服务器的配置、MATLAB Web Server配置、编写html 和m文件。下面对这几点做详细介绍:
  2.1Web服务器安装和配置[3]
  本系统采用Windows XP Pro版本,MATLAB是7.0.4版本、Apache2.2版本Web服务器。现就Apache Web服务器的配置做详细的介绍。
  在安装Apache时可以指定安装目录,也可以缺省目录安装,安装好后在安装目录中找到conf文件夹,对其中的httpd.conf文件进行配置;利用写字板或记事本打开该文件后,有"#"号标志的是注释行,主要是以下几点需要注意:
  ①ServerRoot “D:/Apache2.2”指定服务器的安装目录,注意所有路径中是"/"符号与windows系统路径"\"符号不同,本系统将Apache安装在D:\Apache2.2中;②ServerName obbo:80 服务器名称和开放端口,当然也可以用IP地址代替服务器名,本系统服务器名称是obbo端口号是80;③DocumentRoot“D:/wsdemos”设定虚拟目录,就是建立Web站点的目录,本系统将D盘中的wsdemos作为虚拟目录,另外还要将已经设置好的虚拟目录改写如:的设置;④ScriptAlias /cgi-bin/ “D:/wsdemos/cgi-bin/” 建立运行CGI应用程序的cgi-bin目录。
  同时中也要做相应改动,而且在Options选项中的值修改为ExecCGI;⑤Alias /icons/ “D:/wsdemos/icons/”建立图形改写目录icons,同时也要修改中也要相应修改目录。以上修改完成后,Apache服务器配置基本完成,重启Apache服务器修改生效。
  另外在服务器配置中还要在虚拟目录中创建好以上cgi-bin和icons两个文件夹,cgi-bin中存放运行的CGI程序如matweb.exe文件,icons中存放要输出的图像文件。
  2.2MATLAB Web Server配置[1-4]
  2.2.1MATLABserver.conf的配置
  MATLABserver.conf位于/webserver/目录,文件包括内容:-m 1。
  数字1表示能并发执行MATLAB的个数。当测试一切运行正常后,可以很方便地更改该数字。同样必须注意的是,参数改变后必须重新启动MATLAB Web Server,这些修改才能生效。
  2.2.2matweb.conf的配置
  所有的MATLAB网络应用都必须在配置文件matweb.conf中进行注册。这里以MATLAB自带的演示程序webpeaks应用为例(该配置文件位于MATLAB安装目录中的/toolbox/webserver/wsdemos),介绍配置文件matweb.conf的含义
  [webpeaks]
  mlserver=obbo 这里的服务名称应和Apache配置的服务器名称一致;
  mldir=D:/wsdemos/icons
  其中,webpeaks是网络应用的名称,必须用“[ ]”;mlserver表示MATLAB Web服务程序所在机器名字,也可以是IP地址;mldir指定MATLAB工作目录。特别说明,每增加一个MATLAB Web应用,都需要在代理服务的配置文件matweb.conf中增加一项配置,即在该配置文件中添加相应的应用名称、主机名以及工作目录路。
  2.3HTML文件编写和建立m文件
  HTML输入页用来请求MATLAB Web服务,主要完成两方面的功能,一方面是接收浏览器用户的输入,这与一般的Web应用的处理方法相同,可以通过HTML的表单来实现;另一方面是设置一个特殊的标志,将该请求重定向到MATLABWeb服务代理进行处理,它的实现方法也与一般的CGI程序调用方法相同。下面是一段简单的实例代码。
  ...
  <form action=“/cgi-bin/matweb.exe” method=“POST” target=“outputwindow”>
  <input type=“hidden” name=“mlmfile” value=“webpeaks”><p>
  ...
  m文件的编程,例如MATLAB安装目录中自带的webpeaks.m文件,在源文件中有详细注释,由于篇幅有限不在赘述。
  function rs=webpeaks(h)
  mlid=getfield(h,'mlid');
  cd(h.mldir);
  wscleanup('ml*peaks.jpeg', 1);
  rcolor=str2double(h.red);
  gcolor=str2double(h.green);
  bcolor=str2double(h.blue);
  azimuth=str2double(h.AZ);
  elevation=str2double(h.EL);
  if(isfield(h,'shading'))
  shdng=getfield(h,'shading');
  if strcmp(shdng,'Interpolated');
  shdng='interp';
  end
  end
  f=figure('visible','off');
  z=peaks;
  surf(z);
  pos=get(gcf, 'position');
  pos(3)=380;
  pos(4)=310;
  l=light('color', [rcolor gcolor bcolor]);
  shading(lower(shdng));
  lighting phong;
  set(gcf,'Position', pos, 'PaperPosition', [.5 .5 4 3]);
  view(azimuth, elevation);
  drawnow;
  s.GraphFileName=sprintf('%speaks.jpeg', mlid);
  wsprintjpeg(f, s.GraphFileName);
  s.GraphFileName=sprintf('/icons/%speaks.jpeg', mlid);
  close all;
  templatefile=which('webpeaks2.html');
  rs=htmlrep(s, templatefile);
  2.4示例调试结果
  在浏览器地址栏中输入http://localhost/webpeaks1.html后出现图2数据输入界面:
  


  点击Generate Plot 按钮后,如图3,其中输出图形的大小在webpeaks.m中可以通过修改set()函数[3-5]中的参数来调整。
  


  
  3 结束语
  
  通过MATLAB Web Server实现网上实验,不必在客户端安装MATLAB软件,不管在何时何地,只要有浏览器,只要网络通畅,在浏览器中输入要访问的服务器地址,就可以在线浏览实验的全过程;科研人员不必知道太多有关MATLAB编程的知识,只需要知道要得到什么样的实验数据,选取相关实验即可。其出现极大的方便了教学和科研,对教学和科研展现了新的模式。
  
  参考文献:
  [1]何强,何英.MATLAB扩展编程[M].北京:清华大学出版社,2002.
  [2]文玉梅.用MATLAB建立理工科教学虚拟实验室[J].重庆大学学报(社会科学版),2001,7(5):177-179.
  [3]刘春英,张国煊.基于MATLAB网络服务器的虚拟实验室实现[J].杭州电子科技大学学报,25(6):71-74.
  [4]曹建华,周建江,刘越等.基于MATLAB Web Server信号处理教学平台的实现方法[J].舰船电子工程,2008(8):113-116.
其他文献
摘 要:作者在对计算机网络课程教学实践基础上,尝试通过网络仿真工具OPNET来对现有的课程实验进行重新设计,提出了一种简化OPNET建模方案,并结合TCP拥塞控制算法验证实验分析了引入OPNET以后网络实验的组织和实施的情况。  关键词:网络;实验;OPNET;建模;TCP  中图分类号:TP301.6 文献标识码:A    Congestion Prevent and Control on Ne
期刊
摘 要:介绍电力系统中,基于法拉第效应的光学电流互感器测试电流的基本原理,采用TI的最新数字处理芯片TMS320F28335的片内A/D转换器对被测电流进行数据采集,以LabVIEW作为开发平台,使用串口将DSP的数据传送给PC端,同时给出DSP与RS232的硬件连接图,以及DSP和LabVIEW的软件编写程序,对实验室小电流模拟的高强电流信号进行测试研究,测试结果表明该数据采集及分析系统能正常通
期刊
摘 要:针对ERP沙盘模拟实验教学的必要性进行了细致地分析,给出了ERP沙盘模拟实验教学具体教学模式的整体思路和详细的模式设计和实战对抗的应用指导。  关键词:ERP沙盘模拟实验;教学模式;实战对抗  中图分类号:G40 文献标识码:A    Research and Operation ERP Sangbox Simulation Experiment's Teaching Pattern  W
期刊
摘 要:结合项目中对中文显示乱码处理的经验,论述java语言在linux操作系统下中文乱码产生的原因和解决方法。  关键词:字符集;本地化;URL encode;URL decoder  中图分类号:TP312JA文献标识码:A    Study on the Chinese Error Coding in the Java Programs on Linux  JIA Jin-ying1, JI
期刊
摘 要:针对ASP.NET 2.0实现WEB打印的几种方法进行初步探讨,对每种方法的实现、各自特点进行阐述。  关键词:ASP.NET 2.0 ;B/S模式 ;WEB 打印  中图分类号:TP393.092 文献标识码:A    Study on Implementation of WEB Print Method Based on ASP.NET 2.0   ZU Xiao-dong  (Tia
期刊
摘 要:WinHex是一款通用的16进制编辑器,利用它可以手动恢复被删除或误覆盖的文档。介绍一种使用WinHex软件找回误覆盖的Word文档的方法。  关键词:WinHex;误覆盖Word文档;手动恢复  中图分类号:TP309.3 文献标识码:A    Handwork Restore of the Miscovered Word Files by WinHex Software  XU Fu-
期刊
摘 要:介绍了全球卫星定位系统GPS的基本组成及技术原理,阐述GPS在车辆智能管理系统中的具体应用,介绍GPS在车辆监控系统的主要功能,最后对GPS在车辆智能管理系统中的发展前景进行了总结和展望。  关键词:GPS车辆智能管理;定位;监控  中图分类号:TP872 文献标识码:A    Brief Introduction of GPS Application on Vehicle Intelle
期刊
摘 要:着重设计一种增强linux系统中的ELF文件自免疫能力的方法,通过改进ELF存储结构来实现对常见病毒类型的天然免疫。  关键词:ELF;自免疫  中图分类号:TP309.5文献标识码:A    Research of the ELF's Self-immunity  SHI Wei-hang,WANG Rui-juan  (Software Technology School, Zheng
期刊
摘 要:从Linux操作系统的优势入手,分析桌面Linux系统的发展前景。  关键词:操作系统;Linux;发展前景  中图分类号:TP316 文献标识码:A    A Shallow Analysis of the Development Prospect of Operating System Based on Linux  TIAN Guang-yu,WANG Dong-lai  (Jili
期刊
摘 要:对软件工程与能力成熟度模型CMM进行探讨,进一步说明管理是影响软件研发项目全局的因素,而技术只影响局部。  关键词:软件工程;CMM;探讨  中图分类号:TP311文献标识码:A    Exploration on Software Engineering and Capability Maturity Model CMM  WU Di;GONG Qi-jun  (Chongqing En
期刊