在最近的问题“How to organize MATLAB code?”中,Andrew Janke在他的回答中提到使用类将MATLAB函数组织成包:
...考虑使用无状态实用程序将一些代码重写为对象 具有类方法和私有函数的类作为包装相关的方式 一起工作并提供一些封装。 ......在... 经典的MATLAB,类是你做某种包的唯一方法。
请您提供更多信息吗?链接,代码示例来理解这个概念。
答案 0 :(得分:2)
Loren主持了一位客座博客讨论这个问题:
http://blogs.mathworks.com/loren/2008/08/18/when-to-create-classes-in-matlab/
我制作了一个简单的视频:
当然是MATLAB文档:
http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_oop/brh2rgw.html
答案 1 :(得分:2)
不要使用类进行打包
Matlab中的类已知限制(从performance可伸缩性开始等)。 在MATLAB中使用OOP之前,首先要学习"+" packaging(即不是“@”或句柄)。
import foo.bar
之类的语句与预期一样有效(也请检查this)。
需要注意的是:如果你真的需要OOP,只需考虑选择另一种语言,然后再在MATLAB中进行操作。我不得不将我的OOP MATLAB代码重写回函数和包,因为Mathworks的OOP实现只是“不成熟”。第一个麻烦从parfor
开始,其中的东西必须通过开销进行序列化,然后仍然经常中断。