【问题标题】:Making a Matlab program run with Octave使用 Octave 运行 Matlab 程序
【发布时间】:2016-12-09 05:34:03
【问题描述】:

我最近发现了一个我想尝试使用的 Matlab 程序 (TraitLab),但我没有 Matlab 许可证。鉴于我认为 GNU Octave 和 Matlab 大多兼容,我尝试以 octave 运行它,但运行程序的 GUI 方式取决于加载 .fig 文件(现在我知道我可以使用 load 来获取struct 该文件的内容,但这并不能使它成为我可以传递给各种 GUI 函数的图形),并且运行它的无头方式报告了许多关于

的解析错误
  nested functions not implemented in this context

是否有一种明显的方法可以让为 Matlab 编写的函数显示这两个症状以在 Octave 下运行?

【问题讨论】:

  • 显而易见的方法是重写它,使其成为有效的 Octave 语法。没有神奇的 MATLAB->Octave 按钮,虽然它们共享许多相同的语法,但它们彼此并不完全兼容。
  • 您使用的是哪个版本的 Octave?如果 Octave 具有与 Matlab 兼容的范围规则,则从 3.8 版开始支持嵌套函数。但是消息说“在这种情况下”,因此可能是嵌套函数仍然不可用的特殊情况。只需确保您运行的是最新的 Octave 版本。
  • 我的 Octave 是 4.0.3,是今天 Arch 上的最新版本。

标签: matlab octave


【解决方案1】:

我已经下载了 TraitLab,对我来说很明显,这是一个需要大量修改才能在 octave 上运行的程序,而您可能没有时间(或可能没有专业知识)来实施。

在这种情况下,您实际上只有两个其他选择。

1) 写信给开发人员并询问他们是否可以重新实现他们的代码以使其与 Octave 兼容。我不会屏住呼吸,因为它是一个学术图书馆,但始终值得指出的是,需要 Octave 兼容代码。同样鉴于这是旧代码,仍然值得联系牛津的统计实验室,因为他们可能已经转移到可能也适合您需求的不同代码库(例如,我知道牛津的很多统计人员已经切换到 julia )。

2) 同时,如果你真的想运行它但你没有 matlab,找到一个 matlab 安装(例如从朋友那里,或者在你的大学里)并使用 Matlab 的“应用程序编译器”创建一个独立版本"。

考虑购买matlab。它以昂贵得令人望而却步而闻名,部分原因是大学范围内的许可证确实要花很多钱。但是对于个人使用(尤其是如果您是学生?),只要有正确的许可证和必要的工具包,它实际上并没有您想象的那么昂贵。

【讨论】:

  • 附言。您实际上也可以询问统计部门,他们是否可以自己提供“独立”版本以及其他下载。我看不出他们为什么不这样做(除了他们可能不关心点击那个特定的按钮:p)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
相关资源
最近更新 更多