Matlab Builder JA - 将 Matlab 编译成 Java jar - 免费版?

Posted

技术标签:

【中文标题】Matlab Builder JA - 将 Matlab 编译成 Java jar - 免费版?【英文标题】:Matlab Builder JA - Compile Matlab into a Java jar - Free Version? 【发布时间】:2011-08-12 19:03:50 【问题描述】:

请记住,我对 Matlab 一无所知。

Matlab Builder JA 允许开发人员构建 Matlab 应用程序并将它们导出到 Java jar 中。太好了,我只需要生成一个 jar,然后我就可以从其他 java 代码中使用它。

有人知道单罐打包模块多少钱吗?

是否有免费版本或类似的免费软件产品?

有没有其他方法可以实现同样的事情 - 使用 Java 将输入传递给 Matlab 并在不担心其他任何事情的情况下返回输出 - 使用标准 Matlab/Java?

【问题讨论】:

【参考方案1】:

Matlab JA Builder(也称为 Matlab JA 编译器)的运行成本约为 5000 美元,但要使部署实际工作,您还需要获得 MCR 工具箱,价格约为 4000 美元。这当然是在现有的 Matlab 安装之上,它将运行您大约 2000 美元。因此,只需大约 11,000 美元,您就可以拥有一个全副武装的操作工作站,它将 .M 文件功能转换为可在任意 Java 应用程序中使用的压缩 .jar 文件。很酷的是,这些许可费用为您提供了 DEPLOYMENT 的站点许可……这意味着可以免费在站点上部署由该设置生成的任何 .jar 文件,该站点为任何目标计算机支付许可。目标机器不需要安装 matlab。我上次检查时存在对 Win/Mac/Linux/Solaris 的操作系统支持。

但请注意,许可结构适用于一个站点和一台开发机器。您希望两个开发人员同时工作吗?成本翻倍。您想将同一个应用程序部署到多个站点……成本翻倍。致电 Mathworks,他们很乐意准确地告诉您需要和不需要什么,您可能会与工程师交谈,而不是与呼叫中心的无人机交谈。我在 2009 年的前一份工作中完成了这一切。

【讨论】:

【参考方案2】:

MATLAB Builder JA for Java 目前个人商业许可的价格为 3,150 英镑,并且需要 MATLAB Compiler,目前个人商业许可的价格为 3,850 英镑。我在英国,因此无法获得其他货币的定价,但您可以通过以下链接获得当地价格。

Pricing for MATLAB Builder JA

Pricing for MATLAB Compiler

与 Birdasaur 的回答相反,Solaris 不支持产品(和部署的组件) - Solaris since R2010a 不支持 MATLAB 本身。您还可以将生成的 .jar 文件部署到任意数量的站点。个人许可证可以分配给指定的个人,在这种情况下,只有该开发人员可以使用该产品;或特定机器,在这种情况下,任何开发人员只要在机器的控制台上(非远程登录)就可以使用它。

MATLAB 还有一个未记录的接口,称为 JMI(Java MATLAB 接口),您可以使用它直接从 Java 调用 MATLAB。看看matlabcontrol。但是,这需要已部署应用程序的 MATLAB 实时副本。

【讨论】:

【参考方案3】:

您应该联系 MathWorks 以获得许可。由于这是相当高端的功能,我推测它相当昂贵。

您可能应该看看Octave,它是在 GNU GPL 下获得许可的。此外,Matlab 周围还有各种各样的包装器,例如 MLabWrap,但它们需要安装 Matlab 版本,因此它不适用于重新分发或任何其他东西。

【讨论】:

我只是看了看,Octave 是另一种类似于 Matlab 的语言,并不是我想要的。 MLabWrap 是针对 Phyton 的,你知道是否有任何 Java 特定的东西吗?谢谢。 @Gevorg:正如其他人所提到的,未记录的 JMI 接口允许您从 Java 调用 MATLAB。下面是一个使用 matlabcontrol 包装库的示例:***.com/questions/7212467/…

以上是关于Matlab Builder JA - 将 Matlab 编译成 Java jar - 免费版?的主要内容,如果未能解决你的问题,请参考以下文章

matlab 将mat文件中数据赋给另外一个变量

将变量复制到mat到matlab中

matlab 存储mat文件

如何读写Matlab的mat文件?

matlab中的mat文件是啥,怎么用呢?

如何将MATLAB创建的DLL文件反编译成mat文件