how to change variable name in for loop
3 views (last 30 days)
Show older comments
I am trying to do a problem for structural analysis, i got stuck in this part trying to make a for loop give me different variables, here's the example. Thanks in advance!!
for i=1:nel
kl =[J(1,i) 0 0 -J(1,i) 0 0
0 J(3,i) J(2,i) 0 -J(3,i) J(2,i)
0 J(2,i) J(4,i) 0 -J(2,i) J(5,i)
-J(1,i) 0 0 J(1,i) 0 0
0 -J(3,i) -J(2,i) 0 J(3,i) -J(2,i)
0 J(2,i) J(5,i) 0 -J(2,i) J(4,i)]
end
I need a new "kl" each iteration, can anybody help me out, it's my first month using matlab.
1 Comment
Accepted Answer
Jan
on 11 Oct 2014
A bold guess: Do you want to store the different matrices in a variable?
kl = zeros(6, 6, nel)
for i = 1:nel
kl(:,:,i) =[J(1,i) 0 0 -J(1,i) 0 0; ...
0 J(3,i) J(2,i) 0 -J(3,i) J(2,i); ...
0 J(2,i) J(4,i) 0 -J(2,i) J(5,i); ...
-J(1,i) 0 0 J(1,i) 0 0; ...
0 -J(3,i) -J(2,i) 0 J(3,i) -J(2,i); ...
0 J(2,i) J(5,i) 0 -J(2,i) J(4,i)];
end
Or in a cell array:
kl = cell(1, nel);
for i = 1:nel
kl{i} = ...
3 Comments
Oleg Komarov
on 11 Oct 2014
@Alejandro: absolutely avoid this programming practice. Keep the data in one place and if you need the meta info associated withe the name of the slice, then use structures or tables.
Jan
on 12 Oct 2014
@Alejandro: Hiding an index in the name of a variable is a bad programming style.
More Answers (0)
See Also
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!