MATLAB 代码的打包

发布于 2024-08-23 01:07:07 字数 344 浏览 11 评论 0原文

在最近的问题“如何组织 MATLAB 代码?”Andrew Janke 在他的回答中提到使用类将 MATLAB 函数组织到包中:

...考虑使用无状态实用程序将一些代码重写为对象 以类方法和私有函数作为封装相关方式的类 一起发挥作用并提供一些封装。 ... 在 经典的 MATLAB,类是执行某种包的唯一方法

请您提供更多相关信息吗?用于理解概念的链接、代码示例。

In the recent question "How to organize MATLAB code?" Andrew Janke mentioned in his answer using classes to organize MATLAB functions into packages:

... consider rewriting some of the code as objects, using stateless utility
classes with class methods and private functions as ways of packaging related
functions together and providing some encapsulation. ... In
classic MATLAB, classes are your only way of doing some sort of packages.

Would you please provide more information on it? Links, code examples to understand the concept.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

自在安然 2024-08-30 01:07:07

不要使用类进行打包

Matlab 中的类有已知的限制(从 性能可扩展性等)。
在 MATLAB 中使用 OOP 之前,首先学习 “+”包装(即不是“@”或句柄)。

import foo.bar 这样的语句按预期工作(另请检查 这个)。

警告:如果您确实需要 OOP,请考虑在 MATLAB 中执行此操作之前选择另一种语言。我必须将 OOP MATLAB 代码重写回函数和包,因为 Mathworks 的 OOP 实现“不成熟”。第一个麻烦是从 parfor 开始的,其中的内容必须以一定的开销进行序列化,但仍然经常中断。

Don't use classes for packaging

Classes in Matlab has known limitaitons (starting with performance scalability, etc).
Before going into using OOP in MATLAB, first learn "+" packaging (i.e. not "@" or handles).

Statements like import foo.bar work just as expected (also check this).

A word of caution: if you really need OOP, just consider picking another language before doing it in MATLAB. I had to rewrite my OOP MATLAB code back to functions and packages because OOP implementation by Mathworks is just "immature". First troubles start with parfor where stuff has to be serialized with an overhead and then still breaks way too often.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文