处理类对象的索引数组

时间:2018-08-08 17:34:44

标签: matlab object handle

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

Subjects = [];

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

Subjects = [Subjects; subject1];

最后,我希望Subjects看起来像

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

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

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

这些都不起作用。我收到一个错误“输入参数不足”。也许matlab相信我想创建一个新主题,所以它需要输入参数?

这应该是一件非常简单的事情,我只是不知道语法,而且在文档中也找不到它。

Matlab版本2016a

1 个答案:

答案 0 :(得分:0)

问题出在创建handles数组时。

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

Subjects = Subject.empty;

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

要检索句柄,应该使用括号为数组建立索引。