摘要:在介紹Matlab Web Server 的工作原理的基礎(chǔ)上,結(jié)合Matlab的科學(xué)計算與圖形顯示功能在WEB平臺上使用的方法,詳細(xì)說明了基于Matlab Web Server的遠(yuǎn)程交互式教學(xué)課件開發(fā)的關(guān)鍵技術(shù)和技巧。通過一個具體的三角函數(shù)教學(xué)例子,介紹了該方法的實施過程,并將最后的結(jié)果和圖形直觀地顯示在瀏覽器上,從而也展示了Matlab在遠(yuǎn)程互動教學(xué)中美好的前景。
關(guān)鍵詞:遠(yuǎn)程教學(xué);Matlab;Web技術(shù);Matlab Web Server
引言
Matlab 是MathWorks公司于1982年推出的一套高性能的數(shù)值計算和可視化數(shù)學(xué)軟件。它集計算、數(shù)據(jù)可視化和程序設(shè)計于一體,構(gòu)成了一個方便的、界面友好的用戶環(huán)境。同時,隨著計算機(jī)技術(shù)與通信技術(shù)的發(fā)展,互聯(lián)網(wǎng)已成為新型信息系統(tǒng)開發(fā)的標(biāo)準(zhǔn)平臺。Matlab Web Server 是Matlab 具有網(wǎng)絡(luò)計算功能的核心工具包之一。在教學(xué)上,利用它建立遠(yuǎn)程仿真應(yīng)用系統(tǒng),避免了安裝Matlab 軟件和煩瑣的程序輸入與調(diào)試的局限性,能隨時隨地地利用Internet 方便快捷地進(jìn)行遠(yuǎn)程交互的仿真實驗,給教學(xué)、實驗和學(xué)習(xí)帶來了很大的方便。這將對我國目前教育資源不足的國情下大力發(fā)展職業(yè)教育及遠(yuǎn)程教育具有重要意義。
一、Matlab Web Server的工作原理
1. 基本原理
基于Matlab Web Server 的遠(yuǎn)程互動教學(xué)系統(tǒng),用戶通過Web瀏覽器上的HTML網(wǎng)頁向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器接收用戶數(shù)據(jù)并進(jìn)行計算分析,然后把運(yùn)行結(jié)果(數(shù)據(jù)或圖片)返回到客戶端的瀏覽器并顯示出來,其運(yùn)行的基本原理如下圖所示。

2. 體系結(jié)構(gòu)
Matlab的Web應(yīng)用主要由以下部分組成:Matlab Web服務(wù)器、Web服務(wù)代理(Matweb)以及Matlab的m文件。其中,Matlab Web服務(wù)器是一個多線程可執(zhí)行的TCP/IP應(yīng)用程序matlabserver.exe,是Matlab應(yīng)用程序運(yùn)行的服務(wù)器環(huán)境,負(fù)責(zé)管理Web應(yīng)用與Matlab間的通訊;Web服務(wù)代理是一個可執(zhí)行程序Matweb.exe,是Matlab Web服務(wù)器的TCP/IP客戶端,同時也是Web的CGI擴(kuò)展,它將對Matlab的請求重新定位到matlabserver.exe進(jìn)行處理。Matweb.m是要調(diào)用的Matlab應(yīng)用程序。
系統(tǒng)的工作原理:Matlab server通過調(diào)用matlab.m 來處理HTML網(wǎng)頁中隱含字段mlmfile 所指定的M 文件,在web 網(wǎng)頁、matlab、M 文件三者之間建立起聯(lián)系。
3. Matlab Web Server的配置過程
(1)配置IIS Web 服務(wù)器。
(2)建立并設(shè)置Matlab配置文件。在新建Web站點的根目錄下,建立Matlab配置文件Matweb.conf和Matlabserver配置文件Matlabserver.conf,并對其進(jìn)行配置。
二、基于Matlab Web Server的交互式教學(xué)課件開發(fā)的基本過程
基于Matlab Web Server 的交互式教學(xué)課件開發(fā)主要由四個基本部分組成:①處理輸入數(shù)據(jù)和計算結(jié)果的M 文檔;②向Matlab 提交數(shù)據(jù)的HTML 輸入文檔;③顯示Matlab 計算結(jié)果的HTML 輸出文檔;④ 配置文件matweb.conf。本文以三角函數(shù)圖形展示教學(xué)為例進(jìn)行開發(fā)。
1. M文檔的建立
M 文件是一個被網(wǎng)頁調(diào)用的程序,它是一個函數(shù)式M文件。M 文件的基本結(jié)構(gòu)分為:網(wǎng)絡(luò)功能部分程序段、主運(yùn)算程序段、圖形生成程序。
(1)運(yùn)算功能的實現(xiàn)。完成主要運(yùn)算功能的Matlab 程序段是M 文件的實體部分,它與直接用matlab 軟件進(jìn)行仿真的實體部分基本相同。
(2)繪圖部分。生成的圖形不是直接從彈出窗口顯示,而是生成jpeg 格式的圖像文件,通過輸出網(wǎng)頁顯示給用戶,并與建立的初始輸出網(wǎng)頁上的圖形安排一一對應(yīng)。
2. matweb 配置文件
matweb.conf(matweb 配置文件)對每個Web 應(yīng)用分節(jié)進(jìn)行配置,提供運(yùn)行仿真程序的服務(wù)器名、matweb.exe 的位置。

三、運(yùn)行結(jié)果
遠(yuǎn)程進(jìn)入主頁面,用戶在輸入界面中填入相應(yīng)參數(shù)后,并通過函數(shù)選擇欄選擇所需演示的函數(shù)類型,最后點擊提交按鈕,稍等片刻便可在本頁面下彈出如圖3所示的相應(yīng)結(jié)果。本結(jié)果為選擇了sin/cos選項,并設(shè)置不同參數(shù)得到兩條三角函數(shù)曲線:y=1.5*cos(2t)及y=1.5sin(pi/2+2t)。從該返回結(jié)果中可清楚地了解不同三角函數(shù)曲線特性,亦可同時顯示多種函數(shù)曲線,從而可對其進(jìn)行比較學(xué)習(xí)。
結(jié)束語
通過以上分析可以看出,通過Matlab Web服務(wù)代理,使得在Web環(huán)境下調(diào)用Matlab成為可能。世界各地的學(xué)員只需通過Internet將數(shù)據(jù)發(fā)送給Matlab Web服務(wù)器,借助Matlab的強(qiáng)大計算與圖形展示功能,可很容易地獲得計算結(jié)果。這一技術(shù)的開發(fā)將對遠(yuǎn)程互動教學(xué)具有深遠(yuǎn)的意義,特別是我國目前國力還不是特別雄厚的前提下大力提倡職業(yè)教育及遠(yuǎn)程網(wǎng)絡(luò)教育,這一技術(shù)勢必能大大減少相應(yīng)的教育資源,同時也使遠(yuǎn)程學(xué)員能方便快捷地通過網(wǎng)絡(luò)掌握需復(fù)雜計算及圖形展示相關(guān)的課程。
參考文獻(xiàn):
[1]朱勇.Matlab Web Server在交互式網(wǎng)絡(luò)課件開發(fā)中的應(yīng)用[J].阜陽師范學(xué)院學(xué)報,2005(2).
[2]高山,潘豐.基于Matlab Web服務(wù)器控制系統(tǒng)的分析與設(shè)計[J].江南大學(xué)學(xué)報,2005(2).
[3]唐春霞.基于Matlab的Web應(yīng)用[J].控制工程,2005(2).
(江西省民政學(xué)校)