基于MATLABWebServer的远程数值分析虚拟系统设计

广西民族大学学报(自然科学版)第15卷第2期 JOURNAL OF GUANGXI UNIVERSITY FOR NATIONALITIES Vol. 15No. 22009年5月(Na

广西民族大学学报(自然科学版)

第15卷第2期 JOURNAL OF GUANGXI UNIVERSITY FOR NATIONALITIES Vol. 15No. 22009年5月(Natural Science Edition) May 2009

基于MATLAB Web Server 的远程

数值分析虚拟系统设计

*

黄银娟

(广西民族大学数学与计算机科学学院, 广西南宁 530006)

摘 要:在介绍MATLAB Web Server 的工作原理基础上, 给出开发基于MATLAB Web Server 的远程数

值分析虚拟系统的系统结构、开发技术, 并结合实例说明开发应用过程.

关键词:MATLAB Web Server; 虚拟系统; 数值分析

中图分类号:TP311 文献标识码:A 文章编号:1673-8462(2009) 02-0099-04

0 引言

数值分析作为工程计算和科学计算的一门基础课程日益受到人们的重视, 已成为各高校计算和信息专业学生的必修课, 同时也成为工科硕士研究生学位公共必修课. M AT LAB 是目前最流行的科学计算语言之一, M AT LAB 6. 0以后的版本提供了Web Serv er 组件, 为M ALTAB 的Web 应用搭建了桥梁, 借助它可实现M ATLAB 的B/S 模式系统的开发. 在教学上, 利用它建立远程数值分析虚拟系统, 避免了安装M ATLAB 软件和烦琐的程序输入与调试的局限性, 能随时随地的利用Internet 方便快捷地进行远程交互式仿真虚拟实验, 给教学、实验和学习带来了很大的方便.

使用Web 浏览器的用户进行动态的交互, 用户向服务器发送数据, 服务器进行计算分析, 把结果(数据或图片) 返回到客户的浏览器上显示. 1. 1 MAT LAB Web Server 工作原理

M AT LAB W eb Serv er 组件包括m atlabserver 、m atw eb 、matw eb. m 和matw eb. co nf. 其中, matlab serv er 是一个多线程的基于TCP/IP 的服务器, 它负责管理Web 应用和MA TLAB 之间的通信, 运行输入H TM L 文档内的隐藏域mlm file 的值指定的M 文件. M atw eb 是m atlabserver 的一个客户端应用, 是M AT LA B Web 的服务代理, 它利用公共网关接口CGI 把H T ML 的输入数据传送给m atlabserver. m atlab. m 是调用Web 应用要运行的M 文件. m at lab. co nf 是matlab 连接matllabserver 需要配置的文件, Web 应用必须在这里列出.

M AT LAB 的网络结构模型主要由3个部分组成:客户端用户、MA TLAB Web 服务代理、MAT LAB Web 服务器. 其工作原理如图1所示:

1 系统实现

基于M ATLAB Web Server 的远程数值分析系统的构建以Window s 2003Ser ver 为平台, 基于A pache H T TP Server 2. 2. 4Web 服务器以及M AT LAB R2006a 配置M AT LAB Web 服务器, 架设在数值分析的实例上得以实现. M ATLAB Web 服务器可

*

收稿日期:2009 03 10. 作者简介:黄银娟(1976 ) , 女, 广西南宁人, 广西民族大学数学与计算机科学学院教师, 研究方向:教育技术.

,

广西民族大学学报(自然科学版) 2009年5月 第15卷

(3) 拷贝所有需要的H TM L 文件到httpd 能到达的目录.

1. 3 MAT LAB Web Server 应用程序开发模版文件M AT LAB Web Server 应用包括M 文件、H T M L 和图形, 进行开发只需要基本的H T M L 知识, 创建M AT LA B Web Server 应用程序主要包括以下三个步骤:

(1) 建立一个向M AT LAB 提交数据的H T ML 输入文档, 对应输入模版文件input_template.html;

(2) 建立一个处理输入数据和计算结果的M 文件, 对应输入模版文件mfile_template. m;

(3) 建立一个显示M ALTAB 计算结果的H T M L 输出文档, 对应输入模版文件output_template.html 文件.

这3个模版文件提供了开发的框架代码, 利用模版, 可直接方便地建立应用程序. 输入模版文件input _template.htm l 此页面主要用来向MAT LAB 提交数据, 主要代码如下:

M y input variable 1:

其中, 表示把输入表单fo rm 的数据发给虚拟目录/cgi-bin 下的CGI 程序m atw eb. ex e. 表示输入表单有一个隐藏域名为m lmfile 的变量, 现设其值为 my_m_file! , 对于不同的应用相应值不相同, 它是执行计算的M 文件名.

输出模版文件mfile_template.m

functio n r etstr =mfile_template(instruct, out file)

r etstr =char(' ) ;

cd(instruct. mldir) ;

m y_input _variable _1=instruct. my _input _v ar iable_1;

M AT LAB com putations, etc. ;

图1 M A T L AB Web Server 的工作原理图

客户端浏览器通过TCP/IP 协议向H T TP 服务器发送服务请求, M ATLAB Web 服务代理负责解释从H T TP 服务器发送过来的请求, 如果是MA TLAB Web 的服务请求, 则把它定向到MAT LAB 服务器进行处理, 否则由标准的Web 服务器进行处理; 数据通过内部协议传送到MAT LAB 服务器后, matlab server 调用相应的M ALTAB 程序(M 文件) 到MAT LAB 进行计算, 最后, 把运行结果以数据或图片形式返回到H T TP 服务器, 再由H T T P 服务器将结果输出到客户端.

1. 2 系统服务器的参数配置

Apache 是用来架设Web Server 的软件, 安装完成后, 对根目录Apache2. 2confhttpd. conf 下的httpd. conf 文件进行配置, 主要编辑以下3个参数:

(1) Do cumentRoot " /too lbo x/w ebserver/w sdemos"

(2) Scr iptAlias /cgi-bin/" /to olbox/w ebserver/w sdemo s/"

(3) Alias /ico ns/"

如果没有权限建立或修改这些别名, 则必须将:(1) 拷贝matw eb. exe 目录到别名/cg i-bin/所对应的目录下;

(2) 拷贝matweb. conf 到别名/cg i-bin/所对应的目录下;

MAT LAB >/too lbo x/

,

2009年第2期 黄银娟 基于M AT LA B Web Server 的远程数值分析虚拟系统设计outstruct. m y _o utput _variable _1=MAT LAB com putations cr eating .. . etc. ;

templatefile =PLA TE. H T M L>' ) ;

其中, function r etstr =m file _tem plate (in struct, o utfile) 表明此M 文件为函数M 文件, 对于具体应用把 mfile_template ! 改为相应的文件名即可, instruct 是matw eb 程序产生的一个结构, 包含了与输入H TM L 表单域的值相对应的域, 在输入H T M L 表单中必须有一个隐藏域, 名为 mlm file ! , 其值为正在创建的M 文件名.

1. 4 图形的处理

MAT LAB Web Server 通过W eb 页面获得输入数据, 进行计算, 生成图形, 然后在输出文档页面上显示出来的步骤, 可作为结果需要以图形形式返回的参照. 处理图形的w ebpeaks. m 文件中的主要代码为:

function rs =w ebpeaks(h) mlid =getfield(h, ' m lid') ; cd(h. mldir ) ;

w scleanup(' m l*peaks. jpeg ' , 1) ; draw no w ;

s. GraphFileName =sprintf (' speaks. jpeg ' , mlid) ;

w sprintjpeg(f, s. Gr aphFileNam e) ;

s. GraphFileNam e =sprintf(' /icons/speaks. jpeg' , mlid) ;

其中, mlid =g etfield(h, 'mlid') 的作用是获得唯一的ID, 用来生成唯一的文件; cd(h. mldir ) 是设置生成的图形文件的路径; w scleanup('m l*peaks. jpeg' , 1) 的作用是删除此路径下名字与. m l*peaks. jpeg(*为通配符) 类似的一小时之前生成的文件; getfield(f, ∀mlid #) 函数用来获得结构变量h 中名为mlid 的变量的值. s. Gr aphFileName =sprintf(' /i cons/speaks. jpeg ' , m lid) 的作用为生成文件名. Wsprintjpeg (fk, s. GraphFileN am e) 的作用是把f 图片框中的图形存到以s. Gr aphFileName 的值为文件名的文件里. spr intjpeg 首先利用M ATLAB 的带-djpeg 参数的print 命令生成JPEG 文件, 如果失败,

图3 L ag range 插值法输出界面图2 L ag range

插值法输入界面

Mo re

就生成一个临时的PCX 文件, 再调用imw rite 写到一个JPEG 文件里. 1. 5 数值分析实例

Lagr ange 插值是一种普遍应用的插值方法, 它要求在插值节点上, 插值函数和原函数的值相等. 服务器端的Lagrange 插值法M 文件的主要功能是接收从客户端发送过来的数据参数, 然后进行数据处理并计算, 最后将计算结果输出. 客户端要传送的参数数据有已知插值点的X 、Y 坐标与及插值点的坐标. 在模板M 文件中嵌入Lagrange 插值法的MAT LAB 程序, 然后加入绘图、图形输出语句, M 文件处理得出的结果是Lagr ange 多项式在x =x 0处的值, 具体代码略.

示例测试:计算的近似值. 运行过程如图2、图3所示. 即结果为-0. 616143, 与精确值ln0. 54=-0.

-5

6161861394238170比较接近, 误差率为7 0∃10.

scalars, matrices, cell arrays, graphics files,

w hich ('

2 结语

通过MA TLAB Web Server 进行在线的实时仿

,

广西民族大学学报(自然科学版) 2009年5月 第15卷

[4]刘春凤, 等. 实用数值分析教程[M ]. 北京:冶金工业出版社, 2006. [5]辛晓丽, 李世银, 等. 基于M ATLAB W eb S erver 的远程仿真系统

开发[J]. 实验室研究与探索, 2005, (24)

[6]黄斯伟, 等. H TM L 完全使用详解[M ]. 北京:人民邮电出版社,

2006.

[7]T he M athW orks –M ATLAB W eb Server [EB/OL ]. http://

w w w. mathw orks. com/access/h elpdesk _r13/h elp/toolb ox/w eb server/w ebserver. html.

[8]在M icrosoft Win dow s 中使用Apach e –Apache 2. 2中文件参考

手册[EB/OL]. http://doc. chin ahtml. com/M anual/ApacheM anu al/platform/w indow s. h tm l.

真, 用户只需通过交互式网页就可进行MA TLAB 仿真, 使用户可以而不必在客户端安装MAT LAB 软件而实现MA TLAB 应用. 同时, 用户也不必知道太多有关MAT LAB 编程的知识, 简化了仿真软件的开发难度和降低了仿真对用户端系统环境的要求, 非常适用于网络教学和远程实验, 同时提高了效率.

[参 考 文 献]

[1]马兴义, 等. M AT LAB 6应用开发指南[M ]. 北京:机械工业出版

社, 2001.

[2]王能超. 计算方法&&&算法设计及其M ATLAB 实现[M ]. 北京:

高等教育出版社, 2005.

[3]宋兆基, 等. M A TLAB 6. 5在科学计算中的应用[M ]. 北京:清华

大学出版社, 2005.

[责任编辑 苏 琴][责任校对 黄祖宾]

Remote Numerical Analysis Virtual System Based on MATLAB Web Server

H U A N G Y in juan

(Collegeof M athematics and Comp uter Science, Guangx i Univer sity f or

N ationalities, N anning 530006, China)

Abstract:M AT LAB W eb Server at the intro duction of w ork on basic principles, give System architec

ture, the development o f technolog y o f the numerical analysis virtual sy stem based o n the M ATLAB Web Serv er, combined w ith the process of development and application examples.

Key Words:M ATLAB Web Server; V ir tual Sy stem ; N um erical Analysis

(上接第88页)

The ARIMA Model of Overseas Tourism Source

in HeBei and its Application

T A N G Shi xing , K E Feng qin

1

2

(1.Dep ar tment of M athem atic and P hy sics , Chengde Petr oleum College, Chengde 067000, China ; 2.Dep artment of A utomotive Engineer ing , Cheng de Petroleum College, Cheng de 067000, China)

Abstract:Introducing analytical method of ARIM A m odel in ov erseas tourism so urce. Accor ding to

the number of ov erseas tourist from 1989to 2006of H ebei pr ovince build the ARIM A (0, 2, 1) predictio n model, and for ecast the number o f o verseas v isito rs fro m 2007to 2009. The relativ e erro r w as o nly 2. 8to com pare predictiv e data to the actual number of overseas tourist data in 2007, and the application of the mo d el w as proved a viable and effective in sho rt-ter m prediction o f overseas tourism data.

Key Words:ov erseas tourism source ; ARIM A m odel ; predictive model

标签: