Matlab:如何查找变量属性的值

时间:2015-05-16 11:57:48

标签: matlab object properties

我有一个matlab文件,让我们调用i dataset.mat。将dataset.mat加载到工作空间时,它包含多个变量,所有这些变量都是定义为类的对象。我们称这些变量为:

varObj1 varObj2 varObj3 ... varObjN

现在所有这些变量都包含在对象类中定义的属性。假设varObj1具有以下属性:

prop1 prop2 prop3 ... propM

所有这些属性都包含一些值,数字,文本或数组。

我有varObj和所有prop的所有文件名列表:varObjList和propList。

现在的问题是:如何以某种自动方式提取所有这些属性的值?即制作一些进入每个varObj的脚本,并将该对象的每个属性提取到另一个文件,如:

newFile = varObjList(i).propList(j)

选出第i个varObj的第j个属性的值?

1 个答案:

答案 0 :(得分:0)

这对你有用吗?

vO1 = metaclass(varObj1);
pO1 = vO1.PropertyList;
pNames = {pO1.Name};
value1 = varObj1.(pNames{1})

在阅读丹的评论后,它更简单:

pNames = properties(varObj1);
value1 = varObj1.(pNames{1})