姜元政 左嘉
一、引言
Matlab(Matrix Laboratory,矩陣實驗室的縮寫)是是由美國Mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環境.它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在一個易于使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平[1].MATLAB擁有一個獨立的計算環境,不僅可以在個人計算機上運行,還可以網絡服務運行,移植性也非常好,公認的功能強大,應用廣泛,MATLAB還提供了編程接口,可擴充能力強,適于二次開發.隨著Internet的發展,Matlab還提供了虛擬處理環境的網絡計算模式,大提高了科學計算、實驗仿真、信息處理等方面的能力,充分利用了資源,我們可以通過安裝MATLAB Web Server[2],利用Web技術來實現無終端計算,即所謂的B/S計算模式.
二、B/S模式下MATLAB Web應用的原理
要實現MATLAB的Web應用,所需的關鍵組件是WebServer Daemon和MATLAB Web Server.MATLAB Web Server通過TCP/iP在客戶端和MATLAB服務器之間傳送數據.在最簡單的配置里,Web瀏覽器在客戶端運行,而MATLAB、Matlabserver和Web ServerDaemon在服務器上運行.Web Server能夠運行通用網關接口CGI程序,常用的有Apache和IIS等.Matlabserver采用多線程的TCP/IP服務方式,橋接于Matlab與Web應用程序的信息通訊,而matweb是Matlabserver的TCP/lP客戶端程序,它利用CGI從HTML文件中提取數據并傳給Matlabserver.
MATLAB Web應用的原理如圖l所示.首先,當客戶端將網頁中的輸入參數后,再提交給http服務程序,http服務程序通過CGI調用matweb服務代理,而matweb通過內部協議與Matlabserver通訊, Matlabserver調用相應的M文件到MATLAB進行計算,任務完以后,Matlabserver以文本或HTML的形式把結果傳送到matweb服務代理,matweb再通過http服務程序將結果以網頁形式輸出給客戶端.
圖1MATLAB Web應用的原理圖
三、配置 MATLAB Web Server
1.安裝 MATLAB 和 Matlabserver ,并啟動 Matlabserver 服務
在安裝有 Windows 2008 Server 和 IIS7.0 的計算機上,通過運行 MATLAB的安裝程序來安裝 MATLAB 和Matlabserver,安裝完畢后重新啟動計算機,啟動Matlabserver 服務.
2.配置 IIS
打開IIS管理器,新建一個Web 站點 ,并在該站點建立三個目錄 ,分別是cgibin,icons和mages,其中cgibin用來存放 CGI 文件,icons用來存放 MATLAB生成的圖片文件和應用程序所需的圖片文件 , mages用來存放HTML 文件和 M 文件,最后為各目錄設置好目錄屬性.
3.建立并設置 MATLAB 配置文件
在新建Web站點的根目錄下,建立配置文件matweb.conf 和 Matlabserver. Conf,并對其進行配置.
matweb.conf 的內容如下 :
[bhmathxx]
mlserver = 192.168.1.10
mldir =E:/webserver
每增加一個MATLAB Web應用,需在 matweb.conf 中增加一項配置.
Matwebserver.conf 的內容如下:
-m 1
-p 80
四、MATLAB Web應用程序
相應配置完成以后,針對具體的應用可以開發相應的MATLAB Web應用程序.要解決的兩個關鍵問題,分別是MATLAB程序如何通過HTML輸入文件獲取輸人參數問題和如何生成包含輸出數據和圖片的HTML文件問題?其中主要工作包括:
1.設計HTML輸入網頁
設計HTML輸入的網頁,其中輸入的參數主要是通過頁面中的表單來完成,形式如