1、毕业设计开题报告电气工程与自动化基于MATLABWEBSERVER的数值计算远程实验室系统一、选题的背景与意义在传统的学校教学过程中,实验室是必不可少的。在做每一个实验的过程中,不仅是让学生对书本上的理论知识有一个更直观的了解,而且能让学生自己动手、学以致用。通过做实验,还能培养学生的创新能力。但是传统的实验室里,必须为每一个学生配备一套实验设施(如电脑、实验箱、各种元器件和芯片等),所以传统的实验室的建设是昂贵的。并且学生如果要做实验,必须到实验室做,这在地域上也有一定的局限性。远程虚拟实验室系统可以同时避免以上两个问题,它不仅建设成本低,且维护方便,学生只要能连接上网络,就能随时随地的访问
2、虚拟实验室系统。远程虚拟实验室系统的方便、快捷、低成本、易维护等优点都是传统实验室无法比拟的。远程虚拟实验室实际上是一种基于WEB技术、虚拟仿真技术构建的开放式网络化的虚拟网络实验室教学系统,是现有各种教学实验室的数字化和虚拟化。随着WEB技术和仿真技术的成熟,人们开始认识到虚拟实验室在教育领域的应用价值,它除了可以辅助高校的科研工作,在实验教学方面也具有利用率高、易维护等优点。近几年来,国内的许多高校都根据自身科研和教学的需求建立了远程虚拟实验室系统。MATLAB是目前最流行的科学计算语言之一。它集计算、数据可视化和程序设计于一体。在MATLAB中,利用其现成的工具箱MATLABWEBSER
3、VER就能实现远程虚拟实验室系统的建设。MATLABWEBSERVER是MATHWORKS公司顺应网络发展而开发的MATLAB工具箱。通过它可以用MATLABWEBSERVER实现客户服务器的运算模式,用户向服务器发送数据,服务器进行计算分析,把结果(数据、图片或者视频)返回到客户端的浏览器上显示。本课题拟将前面提到的数值计算课程里的一些算法做成一个基于MATLABWEBSERVER来实现的远程实验室系统。学生和老师只需要在浏览器端的用户界面上进行算法选择和参数设置,算法的运算和解答过程动态显示都交由服务器端,服务器端运算结束后向浏览器端返回可视化的结果。本系统利用了MATLABWEBSERV
4、ER来建立远程仿真应用系统,避免了安装MATLAB软件和烦琐的程序输入与高度的局限性,能使老师和学生随时随的利用INTERNET方便快捷的进行远程交互式仿真实验。二、研究的基本内容与拟解决的主要问题(一)工作原理基于MATLABWEBSERVER的远程虚拟实验室系统,用户通过浏览器向服务器发送数据,服务器进行计算分析,把结果返回到客户端的浏览器上显示,其运行的基本原理如图1所示。MATLABSERVER是一个多线程的TCP/IP服务器端服务程序,可以在MATWEBCONF中配置到任何合法的TCP/IP端口。MATLABSERVER通过调用MATLEB来处理网页中隐含字段MLMFILE所指定的M
5、文件,在WEB网页、MATLAB、M文件三者之间建立联系。基于MATLABWEBSERVER的远程仿真系统主要由四个基本部分组成处理输入数据和计算结果的M文档;向MATLAB提交数据的HTML输入文档;显示MATLAB计算结果的HTML输出文档;配置文件MATWEBCONF。初始页面产生的页面初始页面产生的页面HTTPDEMOSMATWEBMATLABSEVERMATLABM文件及数据图形与MATLAB接口处理数据初始页面产生的页面初始页面产生的页面文件及数据图形与接口处理数据初始页面产生的页面初始页面产生的页面文件及数据文件及数据图形图形与接口处理数据图1MATLABWEBSERVER工作原
6、理图MATLABWEBSERVER的配置首先,下载并安装MATLAB65,安装完成后,MATLAB65中就已经带有WEBSERVER的功能模块了。然后将MATWEBEXE和MATWEB(CONFIGURATIONFILE)复制并粘贴到CGIBIN文件夹下,这样就将MATLAB与服务器联系起来了。MATWEB文件的说明如表1所示表1MATWEB(CONFIGURATIONFILE)文件的说明选项说明APPLICATION必须MATLAB应用运行的M文件名MLDIR可选读写文件的工作目录,设定后将自动添加到MATLAB的搜索目录中MLLOG可选产生一个记录应用和MATLAB进行信息交换的日志文件。
7、运行时需将它关闭,否则降低程序的性能MLSERVER必须运行MATLABSERVER主机名MLPORT可选MATLABSERVER侦听的端口号,必须与MATLABSERVERCONF中一致MLTIMEOUT可选等待MATLABSERVER的最大超时时间的秒数MY_VAR用户自定义的配置变量整个虚拟实验室系统的结构大致可以分为4个模块用户登入界面、算法选择界面、参数输入界面、可视化结果返回界面。如图2所示。用户界面数值计算虚拟实验室学生练习模块师生交流模块登陆、注册界面算法选择1非线性方程求根2线性方程组求解3插值法4曲线拟合5数值积分6常微分方程求解7矩阵特征值问题参数输入和显示界面学生做题和
8、上传在线交流或者留言图2基于MATLABWEBSERVER远程实验室系统的基本结构框图(二)设计内容模块一数值计算虚拟实验室。本设计的主要内容是设计一个基于MATLABWEBSERVER的远程仿真系统。实现浏览器服务器的运算模式,用户在浏览器的用户界面上进行算法选择和参数设置,算法系统须涵盖非线性方程求根、线性方程组求解、插值法、曲线拟合、数值积分、常微分方程求解和矩阵特征值问题等数值算法。用户只需要在浏览器端输入相应参数,并将这些数据提交给服务器,接下来算法的运算交由服务器端,服务器端运算结束后向客户端的浏览器端返回可视化的结果(数据、图片或视频)。整个设计的内容大致分为三块在本机上对服务器
9、的配置、MATLABWEBSERVER的配置和网页的设计;服务器端,各种数值算法的程序文件的编写和导入;将整个系统放置于局域网中进行测试。模块二学生练习模块。此模块主要用于让学生在自主学习过程中做一些练习,巩固理论知识,加深对算法的理解。模块三师生交流模块。此模块主要用于老师和学生之间、学生与学生之间的交流。可以在线交流也可以在对方离线的情况下留言。(三)拟解决的主要问题1系统的友好性问题。首先是界面,要简洁,明了,让用户看了就知道该如何操作,并且充分从用户的角度考虑,怎样的界面方便用户操作;然后是系统的严谨性,要充分考虑用户所有可能给出的输入,然后在相关程序编写的时候,避免各种BUG的出现。
10、如用户输入的某个参数导致了系统的瘫痪或者进入死循环,这些都是在设计系统时要想办法避免的。2系统设计中数据的通信问题。本系统的设计过程中,最关键、最核心的部分就是用户端的WEB页面与服务器端的MATLABWEBSERVER之间的数据通信问题。用户在WEB页面输入的函数和各种参数是如何传回服务器端的MATLABWEBSERVER的;服务器端的MATLAB进程将这些数据处理后得出的结果(数据、图片或者视频)是怎样传回WEB页面让用户看见的;当有多个用户同时访问本系统的时候,如何将处理后的结果一一对应给正确的用户。以上都是本系统在设计过程中可能遇到的数据通信的问题。3若同时访问系统的人数较多,还要考虑
11、作为服务器的计算机的计算能力、计算速度。这直接影响到数据的传输和处理速度。三、研究的方法与技术路线(一)开发环境及工具工具计算机一台,MATLAB、APACHE、WAMPSERVER软件各一套。开发环境服务器端系统WINDOWSXP系统MATLAB版本65APACHE版本1320网络协议TCP/IP客户端NETSCAPECOMMUNICATORRELEASE47或者MICROSOFTINTERNETEXPLORER50(二)设计方案总体思路如图3所示数值计算虚拟实验室学生练习模块师生交流模块注册以及学生、老师资料管理模块基于MATLABWEBSERVER的数值计算远程实验室系统网页的输入和输出
12、模块的搭建每个算法程序的编写和导入解决网页和MATLABSERVER的通信问题整个系统的测试和优化图3总体思路1网页的基本设计首先,网页的设计主要分2块。数据的输入和结果的显示。其中在设计参数输入的页面的时候,必须有语句;其中的MYMFILE指的是这个参数将传递给哪个M文件进行运行。在该网页中,所有的待输入的参数类型都必须是INPUT。然后设计一个按钮提交这些数据,如。在设计结果显示页面的时候,须在传递回来的参数两边加“”符号,如传递回来一个整形数A,那么在结果显示网页中如果想要看到A所代表的数A即可。2M文件的编写这里的M文件指的是使用用户给定参数运行的某个函数,既然是函数,最基本的,文件名
13、必须与函数名一致。与其他函数有所不同的是,这个函数不论是从网页获得的数据还是将要传回网页的数据,都是以结构的形式存在的。如,在编写一个M文件的时候我们可以这么写FUNCTIONRSBISECTH这时,H就表示了所有从网页传回的数据都包含在结构H中,若要访问结构中的成员H成员名即可。可以看出,这个函数返回的数据是RS,这里我们需要把我们想要返回给网页的变量都定义在结构RS中,这样才能成功的传回网页。3在ASP环境下开发搭建资料管理模块、师生交流模块和学生练习模块,同时将它们与虚拟实验室模块整合在一起,做成一个完整的系统。4将系统放置于局域网中这里可以使用WAMPSERVER,并且操作非常简单。运
14、行WAMPSERVER,先将服务中的APACHE1320停止,然后在WAMPSERVER中STARTALLSERVICES,再点击PUTONLINE,接着将服务中的APACHE1320启动,这样在同一个局域网下的所有PC机就都可以访问本机了。(三)难点解决1若用户输入的参数使得M文件在运行时进入死循环,就有可能造成系统的瘫痪,此时须手动重新启动MATLABWEBSERVER才能使系统恢复正常。解决方案尽量在M文件编写时考虑到用户输入数据的各种可能性,尽量避免死循环;尝试添加一个对本系统的监视程序,完成遇到死循环就跳出的功能。2若有多个用户来访问本系统的时候,对MATLAB的计算速度和服务器的计
15、算速度提出了较高的要求。解决方案使用性能较好的计算机作为本系统的服务器。3若有多个用户来访问本系统,那么MATLAB无法将网页传来的多组数据和将要传回网页的多组数据一一对应,可能会出现系统瘫痪或得不到正确结果的问题。解决方案给网页传去M文件的每组数据加上一个时间标签,这样就不会出错了。(四)预期结果在同一个局域网中的其他电脑,可以顺利的访问本系统。先通过用户登入界面进入系统,能成功访问各种功能模块。在虚拟实验室模块中任选一算法并输入相应的参数,点击提交后,系统不但能返回该算法的计算结果,并能返回一个视频,动态的解释这个计算结果是怎样的出来的;在师生交流模块中,老师和学生之间、学生与学生之间能方
16、便的进行文字交流;在学生练习模块中,学生能在线做一些练习。学生能在系统中修改自己的昵称和密码,老师不仅能在系统中修改自己的昵称和密码并且能在线管理学生的资料。大致的功能结构如图2所示。四、研究的总体安排与进度201010201011搜集资料,课题调研,对任务进行初步了解,并且翻译英文文献201011201012确立系统结构及功能,进行系统编程开发。编写开题报告、综述和翻译英文文献;201112103进行系统的调试、运行;2011420114将系统运用于学院局域网中,对所做工作总结,写毕业论文。五、主要参考文献1黄安贻,张婧婧网络虚拟实验室的实现方案J武汉船舶职业技术学院学报,2008,2527
17、8802周传胜,王连明,邢雪峰基于MATLAB的网络交互式虚拟现实实验系统的研究J实验技术与管理,2007,2491021053李世银,辛晓丽,罗驱波基于MATLABWEBSERVER的通信原理远程仿真系统开发J电气电子教学学报,2005,2731031054KENANSAVAS,KAZIMYILDIZAWEBBASEDCLUSTERINGANALYSISTOOLBOXSWBCADESIGNUSINGMATLABJPROCEDIASOCIALANDBEHAVIORALSCIENCES,2010,2527652805周薇娜,胡文骅,卢秀芝基于MATLABWEBSERVER的神经网络目标识别方法J
18、计算机应用,2008,28123693716李伟红,龚卫国,秦岚,刘嘉敏基于MATLAB和WEB技术的远程数据处理方法J测控技术,2004,23423257LPETROPOULAKIS,BSTEPHENWEBCLASSSOFTWARETOWEBENABLEMATLABFORCOLLABORATIVEUSEJADVANCESINENGINEERINGSOFTWARE,2005,364975038王平泽基于WEB环境与MATLAB技术进行期权价值分析计算机与信息技术,2005,16547509蒋霞基于MATLAB的通信系统动态仿真应用塔里木大学学报,2006,182697210张晓光,王艳芬,王刚基于MATLABWEBSERVER的数字信号处理远程仿真J电气电子教学学报,2009,31186107