Matlab:如何求变量的属性值



我有一个matlab文件,我们称它为dataset.mat。加载数据集时。当进入工作空间时,它包含几个变量,所有这些变量都被对象定义为一个类。我们把这些变量命名为:

varObj1 varObj2 varObj3…varObjN

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

prop1 prop2 prop3…propM

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

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

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

newFile = varObjList(i).propList(j)

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

这对你有用吗?

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

看了Dan的评论后,就更简单了:

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

相关内容

  • 没有找到相关文章

最新更新