2008-11-26 67 views
12

一位同事和我花了幾年時間開發一個非常酷的Matlab應用程序MDLcompress。在Matlab中,我可以輸入「MDLcompress('filename.txt')」,它會告訴我關於filename.txt內容的各種非常酷的東西。我們希望允許其他人在不下載代碼的情況下使用MDLcompress,安裝Matlab等。理想情況下,我們有一個簡單的網頁,他們從他們的機器中選擇了一個文件,然後上傳到我的工作站(這已經是已經運行tomcat用於其他目的,如果這樣做更容易),沿着「matlab < MDLcompress.m filename.txt> results.txt」的命令啓動一個進程,然後在瀏覽器中顯示results.txt,或顯示一個鏈接讓他們下載它。有沒有簡單的方法來提供基於Matlab的Web應用程序或Web服務?

問題是,我的Matlab技術遠遠超過了我的網絡技能。谷歌有100個通用教程,但沒有像我想要的那麼簡單,至少不是特定於Matlab。

預先感謝

回答

7

如果你在MATLAB大多是精通您可以在MATLAB編寫Web應用程序與MATLAB Web Server 編輯: MATLAB的Web服務器被中斷,所以它是不適合你,如果你使用Matlab的最新版本。可能是this tutorial將有助於從Matlab代碼創建CGI模塊。

3

一種可能的方法是將compile the matlab code成C, 然後make the C file into an apache module,並使用Apache服務器。 我不知道這是多麼複雜,但它可能工作。

+0

一旦它編譯成c語言,那麼如何從網頁上運行它就是無限的可能性。我猜在當前情況下,最好的方法是使用php或python並從該代碼執行c應用程序。 – Loki 2008-11-26 22:20:42

+0

這絕對是要走的路。 Matlab文件可以編譯成程序,然後你可以將程序鏈接到tomcat或apache。那部分超出了我的意思,但它不應該是一個真正的問題。 – Karl 2008-11-27 00:45:59

3

基於標籤,我假設你正試圖部署到Tomcat或類似的。最直接的方法是使用MATLAB Builder JA爲您的代碼創建Java包裝,然後使用標準工具將Java部署爲Web服務。

1

我們開發了一個名爲Modelit Webserver Toolbox的工具箱,它可以讓您做到這一點。我們自己使用這個來運行一個在Matlab中實現的在線路由規劃器的路由算法(鏈接在我們的網站上)。您可以將工具箱與Tomcat和Matlab(2006b及更高版本)或編譯好的Matlab可執行文件結合使用。該工具箱還提供了並行運行多個作業的機制。

3

如果你可以承受失去Matlab的一些更強大的專有功能,有幾個開源數值計算引擎,使用的語法大多與Matlab兼容。其中最成熟的是GNU Octave

在線Octave接口有幾個例子。 Octave Online是一個支持實時提示和在線編輯器的新界面。我是開發Octave Online的團隊成員。你可以在the Octave wiki找到更多在線Octave接口的例子。 The Octave mailing list是之前的在線八度項目的一個很好的資源。

相關問題