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

时间:2015-08-04 12:30:20

标签: arrays string matlab variables input

我想将我工作区中某些变量的名称存储到给定前缀的字符串数组中。特别是,我的工作区中有'Xaws1','Xaws2','Xaws3'变量而不是其他变量,我想让他们的名字填充一个看起来像''Xaws1','Xaws2','Xaws3'的数组。 }。 在我的情况下,所有变量名称具有相同的长度(5个字符),我想使用像“Xaws *”这样的前缀找到它们。我尝试使用who('Xaws*),但输出似乎在这个意义上不可用。我也研究了this post,但到目前为止找不到解决方案。 非常感谢任何想法,提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以使用whos('Xaws*')执行此操作,之后只需要提取name字段:

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

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

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