MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by ZK
on 18 Jun 2013

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.

*No products are associated with this question.*

Answer by Jan Simon
on 18 Jun 2013

Accepted answer

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

Answer by David Sanchez
on 18 Jun 2013

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.

## 0 Comments