基于MATLAB Web的光学虚拟实验平台的构建

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:xiaogengwhy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文简要介绍了MATLAB Web Server及其相关技术,以杨氏双缝干涉实验为例,介绍了运用MATLAB Web Server相结合建立光学网络虚拟实验平台的过程,并通过计算机模拟观察实验结果。
  关键词:MATLAB Web Server;杨氏双缝干涉;虚拟实验;仿真
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)12-21720-02
  
  Constructing of Web-based Virtual Optical Laboratory Based on Matlab Web
  
  HAN Zhi-nai, LI Ling-yun
  (Department of Physics Nanjing Xiaozhuang College, Nanjing 210017, China)
  Abstract:Taking Young's double-slot interference experiment as an example, this paper introduces briefly MATLAB Web Server and correlative technology, presents a process to establish virtual optical lab using MATLAB Web Server. Some results are studied by computers simulation.
  Key words:MATLAB Web Server; Young's double-slot interference; virtual lab; simulation
  
  1 引言
  
  光學实验内容比较抽象,如不借助实验,学生很难理解实验原理和过程。传统学校教育中光学实验的进行一般要稳定的环境、高精密的仪器,在实验进行中,往往很难调试到理想的状态。而远程教育中的实验教学由于学生与教育机构存在空间上的分离,一直是传统远程教育的难点,成为制约远程教育质量的一个重要因素。随着计算机技术、网络技术和仿真技术的发展,网络虚拟实验平台的构建已经成为可能。通过网络环境实施光学虚拟实验,能够拓宽信息渠道与流量,扩大了实践活动的范围,不仅为学校实验教学提供了辅助教学手段,而且为远程教育中的实验教学增加了活力。通过计算机仿真光学实验,配合理论课的讲解,把光学课程涉及的现象展示在学生面前,能够加深学生对光学内容的理解。同时学生可以根据对光学原理和规律的理解,自己设置仿真实验中的可控参数,探索和发现光学世界的奥秘,调动学习的积极性。
  MATLAB是美国Mathworks公司80年代开始推出的一种简便的工程计算语言。它强大的矩阵处理与运算功能、丰富的图形绘制能力深受用户的青睐,其应用范围涵盖了当今几乎所有的工业应用与科学研究领域。MATLAB提供了具有网络功能的核心工具包MATLAB Web Server,可以通过HTTP协议,在安装了Web服务器的主机上提供MATLAB计算的远程服务。利用MATLAB Web Server,将MATLAB的应用范围扩展到网络上,实现远程的可视化建模和仿真,使开发网络虚拟实验系统成为切实可行。基于MATLAB开发的网络虚拟实验平台由于MATLAB本身功能的强大,在实验数据处理等多方面都表现出极强的优势。
  
  2 MATLAB Web关键技术介绍
  
  2.1 MATLAB的Web技术简介
  MATLAB Web Server包含主要包括matlabserver、Matweb和matweb.m文件[1]。Matlabserver用来管理web应用程序和matlab之间的通信。它是一个多线程TCP/IP服务器。可以在matweb.conf中配置到任何合法的TCP/IP端口。Matlabserver通过调用matweb.m来处理网页中隐含字段mlmfile所指定的M文件,在Web网页、MATLAB、M文件三者之间建立联系。Matweb是matlabserver的TCP/IP客户端,它使用CGI方式从HTML文件中将输入的实验数据传递到matlabserver中执行。matweb.m是要调用的matlab的应用程序。
  MATLAB Web Server的核心是matweb.exe,负责解释客户机通过html页面发送的请求,转换为运行MATLAB应用程序所需要的参数,接着启动一个MATLAB进程,并将指定的MATLAB应用程序及其参数传递给该进程进行计算。计算完毕后,MATLAB程序还要负责将计算结果以html页面的方式,通过matweb输出给客户端的浏览器[2]。MATLAB Web Server的原理结构如图1所示。
  
  2.2 MATLAB Web Server配置
  2.2.1 服务器配置
  服务器要提供WWW服务,就必须有一个传统的Web服务器,如IIS服务器或Apache Web Server。本文以微软公司的IIS架构Web服务器,在IIS管理器中新建Web站点,并在该站点建立“cgi-bin”和“icons”两个虚拟目录。“cgi-bin”用来存放CGI文件(如Matlab.exe、Matlabserver.exe),“icons”用于存放Matlab文件生成的图片文件和应用程序所需的图片文件,其他的HTML文件和M文件放在根目录下。
  2.2.2 建立并设置Matlab配置文件
  在新建Web站点的根目录下,建立Matlab配置文件Matweb.conf和Matlabserver配置文件Matlabserver.conf,并对其进行配置。Matweb.conf的内容如下:
  [sflab]
  mlserver=10.1.73.33
  mldir=e:/sflab
  其中,sflab是MATLAB应用程序名,mlserver设置Matlabserver服务器的IP地址,mldir是设置MATLAB应用的工作目录。Matwebserver.conf的内容包括两部分:端口号p,可同时并发的最大线程数m。
  
  3 杨氏双缝干涉实验的实例构建
  
  杨氏双缝干涉实验是利用分波前法获得相干光束的典型例子。实验示意图如图2所示,单色光通过两个窄缝s1,s2射向屏幕,相当于位置不同的两个同频率同相位的光源向屏幕照射的叠合,由于到达屏幕各点的距离不同引起相位差,叠合的结果是在有的点加强,在有的点抵消,造成干涉现象[3]。
  
  图2 双缝干涉图
  3.1 MATLAB Web应用程序的实现
  本网络虚拟实验平台的浏览器端采用的是框架结构,窗口左侧是参数输入部分,右侧是实验结果部分。
  
     
  
  
  (1)输入网页shuangfeng-1.htm部分代码
  
  请输入初始参数:
  

  
  
  波长=
  
  两缝之间的距离=
  
  屏幕与缝之间的距离=
  
  
  

  (2)输出网页shuangfeng-2.htm部分代码
  
  仿真结果为:
  
  


  变量GraphFileName的值是一个MATLAB定义的变量,用函数htmlrep可以对其进行改变。
  (3)MATLAB应用文件sflab.m部分代码
  function retstr=sflab(instruct)
  retstr = char('');
  mlid=getfield(instruct,'mlid');
  cd(instruct.mldir);
  bochang=str2double(instruct.bochang); %获得网页上输入的波长值
  a=str2double(instruct.a); %獲得网页上输入的两个缝之间的距离
  d=str2double(instruct.d); %获得网页上输入的屏幕与缝之间的距离
  wscleanup('icons/ml*sf.jpeg',1,'icons/');
  f=figure('visible','off');
  ym=5*bochang*d/a;xs=ym; %设定光屏范围
  n=101;
  ys=linspace(-ym,ym,n);
  for i=1:n
  r1=sqrt((ys(i)-a/2).^2+d^2); %缝1到光屏上任意一点距离
  r2=sqrt((ys(i)+a/2).^2+d^2); %缝2到光屏上任意一点距离
  phi=2*pi*(r2-r1)/bochang;%相位差
  B(i,:)=4*cos(phi/2).^2;
  end
  N=255;
  Br=(B/4.0)*N;
  subplot(1,2,1)
  image(xs,ys,Br); %画干涉条纹
  colormap(gray(N));
  subplot(1,2,2)
  plot(B,ys); %画出光强变化曲线
  xlabel('x');ylabel('y');title('x,y相图');
  pos=get(gcf,'position');
  set(gcf,'position',pos,'PaperPosition',[.25,.25,20,15]); %设置图片大小
  drawnow;
  s.GraphFileName=sprintf('icons/%ssf.jpeg',instruct.mlid); %设置图片名
  wsprintjpeg(f,s.GraphFileName);
  s.GraphFileName=sprintf('/icons/%ssf.jpeg',instruct.mlid); %设置图片路径
  close all;
  templatefile = which('shuangfeng-2.htm');%指定输出HTML文件
  retstr = htmlrep(s, templatefile);
  3.2 实验结果分析
  
  图3 单色光的干涉条纹图
  本实验平台通过在浏览器端对实验参数波长、两缝之间的距离以及屏幕与缝之间的距离的调节,观察光的干涉现象。当波长=0.0000005,两缝之间的距离=0.0017,屏幕与缝之间的距离=1时,得出实验结果如图3所示。其左图为光屏上的干涉条纹图,右图为光屏上沿y轴方向光强的变化曲线。从图3中可知,干涉条纹是以图2中水平线OO'对称,沿上下两侧交替,等距离排列。
  
  4 结束语
  
  网络虚拟实验可以作为课堂实验教学的补充,为教师进行实验教学提供了新的辅助工具,便于学生对实验内容的预习、复习和自学。同时网络虚拟实验为远程教育中实验教学的开展注入了新的活力,是实验教学发展的重要方向。
  基于MATLAB的网络虚拟实验平台主要是使用MATLAB Web Server组件构建,使用B/S结构,服务器端接受客户端发送的实验请求,分析和处理实验参数,经过计算模拟最终将结果返回客户端。整个系统不涉及具体的实验仪器硬件设备,浏览器端也无需安装实验运行所需的庞大MATLAB软件。基于MATLAB Web的网络虚拟实验平台,不但充分发挥了Internet和MATLAB各自的优势,提高了编程的效率,而且实验数据稳定可靠,在学校课堂实验教学与远程教育领域的实验教学中都有着广泛的应用前景。
  
  参考文献:
  [1] MATLAB Web Server User's Guide.Available online at:http://www.mathworks.com/access/helpdesk/help/pdf_doc/webserver/webserver.pdf.
  [2]何强, 何英. MATLAB扩展编程[M]. 北京:清华大学出版社,2002:73-85.
  [3]胡守信, 李柏年. 基于MATLAB的数学实验[M].北京:科学出版社,2004:139-141.
  [4]王宏. MATLAB的Web应用和开发[J]. 计算机应用,2001,21(3).
  “本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
摘要:UML作为软件工程领域的标准建模语言得到了业界的广泛支持,并日渐成为系统分析中的一种标准建模语言。建模就是用图表从技术层次表达系统的各个方面功能。实时统一建模代表着雷达软件设计的一个发展方向,该文介绍了UML工具并使用了UML的用例图、活动图以及类图对雷达信号发分选系统的软件设计进行了分析建模,给出了雷达信号发分选系统的软件设计的用例模型、静态模型和动态模型。  关键词:UML;分析建模;雷
期刊
摘要:WebGIS是一种在网页上显示地理信息的先进的GIS应用系统,它解决了传统胖客户端对机器配置要求高、不便于维护、不利于地理信息广泛发布的缺点。文中简要阐述了ArcIMS地图服务器、WebGIS应用系统的工作原理及其配置,并通过基于ArcIMS的WebGIS智能交通系统的开发,介绍了WebGIS应用系统的一种开发方法,对于构建WebGIS应用系统起到了积极的作用。  关键词:WebGIS;Ar
期刊
摘要:随着高速图像处理的发展,VGA控制器IP核已成为SoC芯片中的一个重要部件。这里介绍一种使用FPGA芯片实现对VGA控制器的Verilog HDL设计方案。该方案采用FPGA设计VGA接口以将要显示的数据直接送到显示器上,加快了数据的处理速度,提高了系统的兼容性,比同类控制器有着占用资源少、时钟延迟小等特点。  关键词:现场可编程门阵列(FPGA);VGA控制器IP核;Verilog HDL
期刊
摘要:USB因具有易于使用、传输数据快捷可靠、成本低等特点巳成为电脑的首选通信口,还被广泛地应用到显示器、扫描仪、数码相机、网络电话等众多设备中。为了更好地了解并应用USB接口技术,本文就其相关知识作一些简要阐述。  关键词:USB;总线结构;CH375芯片;应用常识   中图分类号:TP334文献标识码:A文章编号:1009-3044(2007)12-21624-02    The Techni
期刊
摘要:在程序设计课程教学中,如何解决程序设计本身枯燥、难懂这个问题,找到一条比较新颖的教学方式,一直是广大计算机教师颇感兴趣的课题。本文从如何提高VB程序设计课程教学质量、增强教学效果、培养和提高学生分析问题、解决问题能力和创新能力等方面,阐述了对VB程序设计教学方法改革的几点看法。  关键词:程序设计;教学方法;能力  中图分类号:G642文献标识码:A文章编号:1009-3044(2007)1
期刊
摘要:文中介绍了Linux内核中断设计面临的问题及基本解决方法。运用面向对象的设计思想及设计模式,重点从结构和行为两方面分析了中断处理机制的上半部分和下半部分,指出Linux內核实现了一个高效、灵活的中断处理框架。  关键词:中断;Linux;面向对象思想  中图分类号:TP316文献标识码:A文章编号:1009-3044(2007)12-21356-02    Research of Inter
期刊
摘要:对分形压缩编码进行了研究,提出了基于9-7整数小波零树的改进的分形算法。它首先对图像整数小波分解,然后对于分形编码,针对小波高频系数无直流分量的特点 ,通过加入误差校正矩阵,减少了误差累积现象。实验结果表明相对于经典的分形和零树混合编码方式,在图像比特率方面和压缩比上,都有很大的提高。  关键词:分形图像编码;整数小波;零树   中图分类号:TP391 文献标识码:A文章编号:1009-30
期刊
摘要:介绍了运用TMS320F2812的SCI模块以及调用VC++6.0中的MSComm控件实现TMS320F2812 DSP与PC机串口通信的方法。在自行研究设计的基于TMS320F2812的轮式移动机器人平台上,通过串口通信软硬件的设计,实现了移动机器人中心处理器PC104与底层运动控制器DSP之间控制信息及速度数据的准确收发。  关键词:DSP;PC104;串口通信;VC++6.0;MSCo
期刊
摘要:该文提出了一种低电压、高稳定性低压差(LDO)线性稳压器,该LDO线性稳压器可输出6种可调电压(2.0V、1.8V、1.6V、1.4V、1.2V、1.0V)。LDO的基本功能是优化便携设备的电池使用寿命,并且为电路系统提供稳定的输出电压。芯片设计基于CSMC公司的0.18微米CMOS混合信号模型。仿真结果表明,该稳压器的线性调整和负载调整的典型值分别为0.7mV和5mV;输出的最大电流为90
期刊
摘要:本文介绍一套用Microsoft Excel作题库,随机选题组卷的方案。  关键词:题库;随机选题;组卷;Excel  中图分类号:TP317文献标识码:A文章编号:1009-3044(2007)12-21732-02    Producing Test Papers by Excel    LI Ming  (Guangdong Shuichan School, Guangzhou 510
期刊