如何为每个Class实例获取一个字段值数组?

时间:2017-06-27 06:24:59

标签: matlab oop

我有一个包含字段的类数组,例如:

classdef MyClass
    properties
        field = 1;
    end
end
...
myClassArray = [];
for i = 1 : 100
    myclass = MyClass;
    myClassArray = [myClassArray myclass];
end

我需要为MyClass的每个实例提供一个字段值数组。我可以这样做:

fields = zeros(length(myClassArray ), 1);
for i = 1 : length(myClassArray )
    fields(i) = myClassArray(i).field;
end

但是这段代码看起来很麻烦。如果我尝试这样做:

fields = myClassArray.field;

,fields变量的值为:fields == myClassArray(1).field;

如何为MyClass的每个实例获取一个字段值数组不那么麻烦?

1 个答案:

答案 0 :(得分:0)

您可以使用

fieldValues = [myClassArray.fieldName]

或者如果你想要一个单元格数组

fieldValues = {myClassArray.fieldName}

作为旁注,我不会调用变量fields