APP下载

基于MATLAB的远程课件设计

2016-11-11兰铜杰

桂林师范高等专科学校学报 2016年5期
关键词:页面远程服务器

兰铜杰

(桂林师范高等专科学校网络与教育技术中心,广西 桂林 541001)

基于MATLAB的远程课件设计

兰铜杰

(桂林师范高等专科学校网络与教育技术中心,广西 桂林 541001)

以国际上流行的MATLAB为平台,对MATLAB的客户-服务的运行模式进行研究。在对MATLAB Web Server及Apache Web Server进行学习、安装及配置的基础上,结合编写M-files文件与html模板文档(包括输入输出模板),完成了一个具有函数作图功能的多媒体课件,合理地将MATLAB的核心技术Web Server和M-files编码运用于网络编程(html语言)中,通过交互式动态网页成功实现了对多种曲面的造型生成。

MATLAB Web Server;Apache;远程课件

一、概述

MATLAB广泛应用于自动控制、数学计算、信号分析、计算机技术、图像信号处理、财务分析、航天工业、汽车工业、生物医学工程、语音处理和雷达工程等各行各业。[1]目前,利用MATLAB的Web开发的远程课件技术尚在初始阶段,在教学活动中的实际运用相当贫乏。MATLAB不仅拥有强大的绘图功能,更具备优越的Web功能,既可以制作丰富的多媒体课件,又可以实现网络远程的交互控制。可见,利用MATLAB来制作远程课件将更为方便、有效、可行。

二、Web设计

(一)基本原理

基于MATLAB的远程课件工作原理如图1所示。

图1 MATLAB Web Server工作原理

由图可知,浏览器用户通过html页面访问httpd服务器,申请访问matweb代理服务器,该请求重新定向到matlabserver进行处理,最后传送至MATLAB。MATLAB根据参数调用相应的M-files函数,[2]生成图片或计算结果,图片直接可通过httpd服务返回,而数据将以“原路”返回,图片及数据都以html页面形式显示。

(二)关键技术

关键技术是实现基于MATLAB的远程课件控制技术的主要程序。分为以下三点:

1.Web的开发。这是该项技术的关键所在。对MATLAB Web Server的配置及对httpd的配置是完成Web开发应用的必需条件。由于开发该项目所需人员及硬件资源相对简易,这里选用了简单模式,即一台计算机安装MATLAB Web Server与Apache Web Server。因此,在技术上相对复杂模式要求低一些。

2.M-files编码。这是该项技术的难点。要表现丰富的课件内容,又要能实现对的输入输出调用,就必须对MATLAB语言和命令函数有一定的掌握,才能正确编写MATLAB Web Server程序的M文件。另外,还必须了解对M-files编辑器的使用。

3.Html模板。要实现人机交互,除了掌握MATLAB语言,还必须有一定的html基本知识,否则无法写出输入输出模板文件。

三、基于MATLAB 的远程课件设计

(一)MATLAB Web Server的安装制作基于MATLAB的远程课件,首先必须构建MATLAB Web Server及网络浏览服务器(这里使用Apache Web Server),然后才能编写有关课件功能内容的M-file文件及有关课件界面的html模板。所以,下面将先对MATLAB Web Server与Apache Web Server的安装及配置进行说明,这些程序都是课件编程的必需条件。

MATLAB的安装十分简单,在此不需详细介绍。安装完成后,必须对MATLAB Web Server进行配置,系统要提供WWW服务,就必须搭建一个httpd服务器。本文中使用的是Apache Web Server,它是一个开放源代码的软件,代码精简高效,配置更为方便灵活,是世界上用量最大的httpd服务器。

(二)Apache Web Server的配置

1.安装与配置Apache

安装过程中,需要设置服务器信息,程序会提示输入主机的域名、主机名和管理员的E-mail,域名可使用计算机IP替代,而主机名同样填入自己的计算机IP。下一步,选择完全安装,通常安装在默认目录C:Program Files。实际上,它还会在下面建立一个子目录Apache。为了避免路径名过长,建议将安装目录改为E:。

安装Apache之后,一个名为“Apache/1.3.2(Win32)”的服务已经在系统服务列表中。

在目录E:Apachehtdocs找到index.html.en文件,更改为index.html,其中E:Apachehtdocs即WWW服务的根目录,index.html为默认首页,在IE浏览器中键入:http://localhost,浏览器就会出现Apache的测试界面。如果结果不正常,说明安装过程出现了问题,需要重新安装。

安装完成之后,还应该对Apache进行一系列的设置,如各种模板的添加、端口号修改、目录属性的设置、IP访问限制等,以增强其安全性。这些设置基本上是通过修改这个文件实现:

E:Apacheconfhttpd.conf

2.设置执行CGI权限

MATLAB Web Server的工作由CGI程序完成,[3]为了在Apache服务中调用CGI,需要设置cgi-bin的特定权限,首先在httpd.conf文件中找到如下代码:

关键是把第三行代码改为:Options ExecCGI,然后就能在E:Apachecgi-bin目录下运行cgi程序。

3.设置icons目录

MATLAB Web服务将会生成图像,必须建一个icons目录来保存。同时,课件生成的运算图像也存储在此目录。在Apache服务中,icons被别名alias的方式映射到E:/Apache/icons/,执行代码同样在httpd.conf文件中:Alias/icons/"E:/Apache/icons/",随后有该目录的权限设置。

根据MATLAB Web服务使用指南的推荐写法,将icons映射到web的根目录,就是上文提到的E:Apachehtdocs,Apache的配置文件路径已用“/”分隔为子目录。

在原代码前写入“#”将其注释,在末行增加新的别名映射Alias/icons/"E:/Apache/htdocs/"

程序访问http://192.168.1.8/icons/course.jpg时,实际上是在访问:http://192.168.1.8/htdocs/course.jpg

配置文件httpd.conf修改之后,必须重新启动Apache才能生效。

(三)配置MATLAB Web Server

1.系统配置文件

系统配置文件的内容只有两个字符:-m 1

此参数允许在同一时间的MATLAB应用程序运行。默认为1,这个数值越大,服务器承受的负载就越大。

2.应用程序信息

Web Server的配置文件为:%MATLAB% oolbox w ebserverwsdemos目录下的matweb.conf

Web Server的CGI程序为:%MATLAB% oolbox webserverwsdemos目录下的matweb.exe

将matweb.conf与matweb.exe复制到E:Apachecgibin。为了能够运行演示程序,将wsdemos目录下的其他文件全部复制到E:Apachehtdocs目录。然后对matweb. conf进行修改,根据本文的技术要求,部分配置如下:

到这里,就可以通过互联网访问MATLAB Web Server的演示程序,以便检验制作步骤的正确性。

(四)运行MATLAB Web Server的演示程序

打开浏览器,在地址栏上输入服务器的地址,回车后,会看到MATLAB Web Server演示程序的页面。如图2所示。

图2 MATLAB Web Server的演示程序

以第二个链接为例,单击Peaks Plot,进入Peaks Plot Generator页面,单击Generator Plot按钮,页面效果如图3所示。

必须注意,运行MATLAB Web Server演示程序,是测试MATLAB Web Server与Apache Web Server的配置是否正确、连接是否正常的必须步骤。这是完成整个Web的开发及实现基于MATLAB的远程课件制作技术的第一个重要程序。

(五)课件编程

1.概述

当MATLAB Web Server演示程序运行成功时,便意味着可以真正开始进行远程课件的开发。课件功能的实现是对MATLAB Web Server进行编程,而课件的界面则是对html编码进行设计。

它们分别是html输入页面模板、html输出页面模板、MATLAB应用程序模板和调试用的MATLAB应用程序模板。

2.编写课件界面

课件的输入界面,通过HTML(超文本标记语言)来实现。主要是两个功能,第一个是通过HTML形式接收浏览器用户的数据输入;第二个是设置专门的标志,用户请求重新定向到MATLAB Web服务代理,实现方法与普通的CGI程序调用方法相同。这里加入了一些页面格式控制代码,如页面的语言编码、页面题头,还有字体控制等。下面是主要代码(文件名:courseware1.html)。

图3 MATLAB Web Server的演示程序:PeaksPlot

<!—添加MATLAB应用程序的输入变量,变量名为func。其中value值可以根据需要自己定义-->

3.MATLAB应用的设置

MATLAB Web应用的设置,实际上是设置ATLAB Web的服务代理,每增加一个MATLAB Web应用需要在配置文件matweb.conf中添加。上面的HTML表单中,命名M文件的值为

courseware,故在matweb.conf中添加以下代码:

其中mlserver=192.168.1.8指向MATLAB Web服务器的IP地址,而MATLAB的工作目录在下面一行设置。

4.课件功能的开发

对MATLAB应用程序开发,实现多媒体课件功能,主要包括三个方面:

(1)接收html表单的输入数据;

(2)调用MATLAB内置科学计算或绘制的各种功能;

(3)计算结果和所生成图像输出到HTML页面,将结果返回用户。

带有图形输出应用的M文件一般要进行下述几步工作:

设置路径->清除过时图形文件->获取输入->分析计算->保存图形到文件->把图形文件设置为输出html文档模板文件的一个图像元素的连接。

实现的主要代码如下(应用函数名为:courseware.m):

5.课件输出界面的开发

前面介绍的课件功能程序中,结果的输出部分调用了课件结果输出的html模板courseware2.html,下面是该文件的关键代码,标记“$......$”的部分中包含了变量值,在MATLAB程序中通过htmlrep函数,将输出结构中的相应变量值进行更换。

6.测试运行

在浏览器地址栏中输入:http://192.168.1.15/course ware1.html,回车确定后可得显示效果,如图4所示。用户在函数式空白处填写任意XY函数式如-x-y,然后点击“提交”按钮,便可得到该函数式的三维图形,并于页面下方显示。如图5所示。

下面改变输入的XY函数式,分别填入:-x^3-y^2和x^2*exp(-x^2-y^2),依次进行计算绘图。

具体得到的图形分别如图6、图7所示。

图4 课件演示

图5 演示效果一

图6 演示效果二

图7 演示效果三

演示结果显示,基于MATLAB的远程课件测试运行成功。

四、结语

MATLAB的Web开发是一项可持续发展的研究技术,现在的课题只是其应用的一个部分而已。该技术在制作上存在着一定程度的缺陷,所以在此提出一些改进的必要讨论。该课件提供多种输入方式,允许用户根据需要编辑函数式。编辑函数式的规则,是关于XY乘除加减初等或高等函数表达式。对于输入一些坐标定位类多数据,课件不能接受并会出现错误。这是一个需要改进的最大之处。改进之后,该课件便具备更优秀的多种作图功能,其不仅可以运用于教学活动中,也可以在工程绘图中发挥必要作用。

[1]张志涌.精通MATLAB6.5版[M].北京:北京航空航天大学出版社,2003.

[2]阮沈勇,王永利,桑群芳.MATLAB程序设计[M].北京:电子工业出版社,2004.

[3]何强,何英.MATLAB扩展编程[M].北京:清华大学出版社,2002.

Design of Remote Courseware Based on MATLAB

Lan Tongjie

(Network Center of Guilin Normal College,Guilin,Guangxi 541001,China)

This paper takes popular international MATLAB as a platform,and conducts the research to the MATLAB customer-service movement pattern.In carrying on the study,the installment and the disposition of MATLAB Web Server and Apache Web Server,the author compiles the M-files document and the html template documents,completes a multimedia courseware with the function of mapping,reasonably applies the main core technology of MATLAB,the CGI procedure and the M-files code,to the network programming(the html language)so as to realize many kinds of curved surface modeling through the interactive dynamic homepage.

MATLAB Web Server;Apache;remote courseware

TP393

A

1001-7070(2016)05-0137-05

(责任编辑:杨建香)

2016-07-03

兰铜杰(1982-),男,广西马山人,桂林师范高等专科学校网络与教育技术中心助理工程师,主要研究方向为网络工程。

猜你喜欢

页面远程服务器
让人胆寒的“远程杀手”:弹道导弹
刷新生活的页面
远程工作狂综合征
通信控制服务器(CCS)维护终端的设计与实现
远程诈骗
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
移动页面设计:为老人做设计
Web安全问答(3)