want to use a 'for' loop to swich between variables, like varname_1+n

3 views (last 30 days)
I'm using a syntax to creat variables, in the next step I want to use the variables one by an other in a 'for' loop.
syntax to creat the variables: like A_1, A_2, A_3, ...
for f=1:1:18
a_LLK{f} = 'a_LLK_';
end
varnamelist1 = genvarname(a_LLK);
for l=1:1:18
eval([genvarname(['a_LLK_' num2str(l)]) '= ...']);
end
now I want to put the values of the createt variables in a Matrix.
for m=1:1:18
B_LLK(:,m) = a_LLK_ *'m'*
end
so that it will be count:
B_LLK(:,1) = a_LLK_1
B_LLK(:,2) = a_LLK_2
B_LLK(:,3) = a_LLK_3
. . .
thanks for help
  3 Comments
Simon Simon
Simon Simon on 10 Jun 2015
thats just a piec of the function usualy a_LLK_n are fft's in form of matrices. And I will take the inverse of the fft and put the results in B_LLK. Just try to write compact and short;)
Stephen23
Stephen23 on 10 Jun 2015
Edited: Stephen23 on 10 Jun 2015
@Simon Simon: Don't create the variables dynamically like this in the first place. Bad programming practices like this should be avoided. Use an N-D array, a cell array or a structure instead.
Beginners often think that it is a great idea to put meta-information is a variable name (e.g. consecutive numbers or test conditions), but really this is programmatically a poor idea: it prevents variable tracking and code checking tools from working, is slow and very buggy.

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 10 Jun 2015
Edited: Stephen23 on 19 Jun 2019
  2 Comments
Simon Simon
Simon Simon on 10 Jun 2015
thank you for answering and you helpfully comment, I try to anderstand and check the many informatons you gave me ;)

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!