【问题标题】:array of system objects in MatlabMatlab中的系统对象数组
【发布时间】:2015-05-29 14:27:51
【问题描述】:

是否可以在 Matlab 中创建一个系统对象数组,然后将其混合到 C 代码中?

例如,在 C++ 中,您可以创建向量,其中 myClass 是用户定义的类。是否可以使用系统对象在 Matlab 中创建等效的东西,然后构建为 C 代码?

【问题讨论】:

  • 显然是的,但您需要 MATLAB 编译器许可证:mathworks.com/help/comm/gs/what-are-system-objects.html(顺便说一句,这是我在 Google 上搜索“System+Objects+MATLAB”时发现的)
  • 我知道我可以构建系统对象,因为我已经使用它们一段时间了。但我看不到如何实例化系统对象的数组。如果可以实例化一个,我希望了解如何以及是否可以构建该数据类型

标签: matlab


【解决方案1】:

不支持创建普通的 System object 数组。您可以将它们放在元胞数组中。但是 C 代码或 mex 文件的代码生成不支持任何类数组。如果您可以详细说明您尝试对对象数组执行的操作,我们可以尝试查看是否有其他方法可以解决您的问题。

【讨论】:

  • 感谢您的回答。这也是我的观察。我有一个系统对象 myObj,例如 vector 10(exampleObj)。然后我想在满足某些条件时访问和更新每个对象。有什么办法可以解决Matlab中没有这种能力
  • 如果对象的数量限制在 10-20 左右,您可以预先声明一个字段名称为 obj1、obj2 等的结构,然后使用动态字段名称,如 structname.([objname num2str(idx) ]) 来访问单个对象。这里 idx 可以是一个循环索引。
猜你喜欢
  • 2015-11-07
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
  • 2011-04-19
  • 2020-06-24
  • 2015-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多