【问题标题】:Is there an easy way to provide a Matlab-based Web App or Web Service?有没有一种简单的方法来提供基于 Matlab 的 Web 应用程序或 Web 服务?
【发布时间】:2014-02-16 15:25:53
【问题描述】:

我和一位同事花了几年时间开发了一个非常酷的 Matlab 应用程序,MDLcompress。在 Matlab 中,我可以键入“MDLcompress('filename.txt')”,它会告诉我关于 filename.txt 内容的各种非常酷的东西。我们希望允许其他人在不下载代码、安装 Matlab 等的情况下使用 MDLcompress。理想情况下,我们会有一个简单的网页,他们从他们的机器中选择一个文件,然后上传到我的工作站(已经为其他目的运行 tomcat,如果这会让事情变得更容易的话),开始一个进程,沿着“matlab results.txt”的行,然后在他们的浏览器中显示 results.txt 或显示一个链接让他们下载它。

问题是,我的 Matlab 技能远远超过了我的网络技能。谷歌有 100 个通用教程,但没有我想要的那么简单,至少不是特定于 Matlab。

提前致谢

【问题讨论】:

    标签: web-services matlab tomcat matlab-deployment


    【解决方案1】:

    如果您最精通 MATLAB,您可以使用MATLAB Web Server 在 MATLAB 中编写 Web 应用程序 编辑: Matlab Web Server 已停产,因此如果您使用最新版本的 Matlab,则不适合您。可能是this tutorial 将有助于从 Matlab 代码创建 CGI 模块。

    【讨论】:

    • 您链接到的教程几乎正是我想要的。现在我只需要弄清楚如何使 CGI 工作,但是网上有很多东西可以做到这一点。谢谢--请
    • 不客气 :) 你打算公开你的申请吗?
    • 至于公开,可能暂时不会。我在一家大公司工作,他们让我用伪代码发布算法,但不提供,甚至出售。
    【解决方案2】:

    一种可能的方法是将compile the matlab code转换成C, 然后make the C file into an apache module,并使用 apache 服务器。 我不知道这有多复杂,但它可能会起作用。

    【讨论】:

    • 好吧,一旦它被编译成c,关于如何从网页运行它的可能性几乎没有。我猜在当前情况下最好的方法是使用 php 或 python 并从该代码执行 c 应用程序。
    • 这绝对是要走的路。 Matlab文件可以编译成程序,然后你可以将程序链接到tomcat或apache。那部分超出了我的范围,但它不应该是一个真正的问题。
    【解决方案3】:

    根据标签,我假设您正在尝试部署到 Tomcat 或类似设备。最直接的方法是使用 MATLAB Builder JA 为您的代码创建 Java 包装器,然后使用标准工具将 Java 部署为 Web 服务。

    【讨论】:

      【解决方案4】:

      如果您可以承受失去一些 Matlab 更强大的专有功能,那么有几个开源数值计算引擎使用的语法大多与 Matlab 的语法兼容。其中最成熟的一个是GNU Octave

      有几个在线 Octave 接口的示例。 Octave Online 是一个支持实时提示和在线编辑器的新界面。我是开发 Octave Online 团队的一员。您可以在the Octave wiki 上找到更多在线 Octave 接口示例。 The Octave mailing list 是以前在线 Octave 项目的好资源。

      【讨论】:

        【解决方案5】:

        我们开发了一个名为Modelit Webserver Toolbox 的工具箱,应该可以让您执行此操作。我们自己使用它来运行在 Matlab 中实现的路由算法,用于在线路线规划器(链接在我们的网站上)。您可以将该工具箱与 Tomcat 和 Matlab(2006b 及更高版本)或已编译的 Matlab 可执行文件结合使用。该工具箱还提供了一种并行运行多个作业的机制。

        【讨论】:

          猜你喜欢
          • 2010-10-27
          • 1970-01-01
          • 1970-01-01
          • 2017-12-15
          • 1970-01-01
          • 2012-07-31
          • 2012-10-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多