2008-11-26 42 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是之前的在线八度项目的一个很好的资源。

相关问题