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

时间:2022-09-12 11:28:11

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

摘要:本文简要介绍了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应用程序的实现

本网络虚拟实验平台的浏览器端采用的是框架结构,窗口左侧是参数输入部分,右侧是实验结果部分。

上一篇:享受视觉冲击 下一篇:利用IIS实现一台服务器架设多个网站