MATLAB:用给定前缀的变量名列表创建字符串数组



我想将工作空间中一些变量的名称存储到给定前缀的字符串数组中。具体来说,我的工作空间中有'Xaws1'、'Xaws2'、'Xaws3'变量,而不是其他变量,我希望它们的名称填充一个类似于{'Xaws1'、'Xaws2'、'Xaws3'}的数组。在我的例子中,所有变量名都有相同的长度(5个字符),我想使用"Xaws*"这样的前缀来查找它们。我尝试了who('Xaws*),但是输出在这个意义上似乎不可用。我也研究了这篇文章,但到目前为止还没有找到解决方案。如有任何意见,我将不胜感激。

您可以使用whos('Xaws*')来做到这一点,您只需要在之后提取name字段:

vars = whos('Xaws*');
names = {vars.name}

然而,我强烈建议你不要有一堆名为Xaws?的变量,其中?是递增的数字。而是使用单元格数组

Xaws{1} = Xaws1;
Xaws{2} = Xaws2;
etc...

最新更新