Loading variable from whos

3 次查看(过去 30 天)
ZK
ZK 2013-6-18
Hi I am working on a group of variables, and I want work on every of them changing them value in loop.
I grouped interested me variables by whos('I2*')
Thank You.

采纳的回答

Jan
Jan 2013-6-18
Avoid such meta-programming. Guessing the names of the variables and construct some obscure EVAL command to access them increases the complexity of your program without any benefit.
If the variables belong together, define them as fields of a struct. Then dynamic field names allow a fast and save processing:
a.x = 1:10;
a.y = rand(10);
fields = fieldnames(a);
for k = 1:length(fields)
disp(a.(fields{k}));
end
  1 个评论
ZK
ZK 2013-6-19
Thanks for advise, I used in structure but in different way.

请先登录,再进行评论。

更多回答(1 个)

David Sanchez
David Sanchez 2013-6-18
Try this out:
my_vars=whos;
for k = 1:length(my_vars)
assignin('base',my_vars(k).name,value_to_assign)
end
where value_to_assign is jsut that, the value you want the variable to have.
  1 个评论
ZK
ZK 2013-6-18
This variables are a matrixes, so I would like to call them directly by name in whos.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by