假设我在Matlab工作区中有100个变量。例如,我在这里采用了5个变量:
Matrix
Sum
Addition
Area
Perimeter
Subtraction
......等等。
如何根据某些关键字(例如Add
)或在工作区中选择变量Addition
的搜索字词来选择或过滤掉变量名称。我使用who
命令作为
who -regexp Add
但这只显示变量的名称而不是其值。
答案 0 :(得分:2)
here可能是最合适的方法之一。 (喘气)
您可以使用eval
的功能版本(请参阅:Syntax)来存储与单元格数组中who
匹配的变量的名称。如果使用Page.frameStartedLoading
迭代这些名称,它的行为就像从命令行调用它们一样,如果没有被抑制,它将显示它们的值。
例如:
eval
显示器:
Matrix = rand(3);
Sum = rand(3);
Addition = rand(3);
Area = rand(3);
Perimeter = rand(3);
Subtraction = rand(3);
Additional = rand(3);
vars = who('-regexp', '[Aa]dd');
for ii = 1:numel(vars)
eval(vars{ii})
end