句柄 Class 对象的索引数组

Indexing Array of Handle Class Objects

我有一个名为 Subject 的句柄 class。我还有一个名为 Subjects 的句柄数组。

Subjects = [];

在我的程序执行期间,我创建了一个主题(如 subject1)并分配了它的属性。完成主题后,我将其句柄添加到句柄数组(我认为)并继续下一个主题。

Subjects = [Subjects; subject1];

最后我希望 Subjects 看起来像

Subjects = [subject1Handle, subject2Handle, ect...]

现在我想从 subject1 中提取属性。 我试过这些命令

subject1 = Subjects[1]
subject1 = Subjects(1)
subject1 = Subjects(1,1)

None 这些作品。我得到一个错误 "Not enough input arguments." 也许 matlab 认为我想创建一个新主题,所以它需要输入参数?

这应该是个很简单的东西,就是不懂语法,文档里也找不到。

Matlab 版本 2016a

问题出在创建句柄数组时。

使用 [] 创建并清空双精度数组。您想要创建一个 Subject 数组。 您可以使用空构造函数来创建空数组,如下所示:

Subjects = Subject.empty;

然后您应该可以根据需要将句柄添加到数组中。

要检索句柄,用括号索引数组应该可行。