How to save all values generated from a for statement in different variables

Hello,
I'm using a for statement to extract values from a matrix depending on i.
for i=1:intn % number of sources Ls= filename(i+1,5)
In this case, I need to save all generated values of Ls as Ls1, Ls2, Ls3, etc.. I tried Ls(i) but it didn't work. Does anyone know how to integrate i into the string name?
Any help would be highly appreciated!
Thanks,

3 Comments

What do you mean by "I tried Ls(i) but it didn't work"?
That is clearly the best solution as it is exactly what an array is meant for so you would be best served by finding out why/what "doesn't work" and solving that.
Creating n variables with different names is not a solution to any problem.
Echidna's solution using structs with dynamic field names would also work, but is still more complicated than an array whose purpose is exactly this.
When i used Ls(i), i got a variable Ls with two values in it (1x2 cell). Thanks,
Unless intn is 2 it sounds like you used it incorrectly in that case, but you haven't posted your code so it is impossible to say much more.

Sign in to comment.

Answers (1)

you could try to use a structure that would look something like this:
for i =1:intn
currentName = ['Ls' num2str(i)]
results.(currentName) = filename(i+1,5);
end
than you can store the Ls1,Ls2,... as follows
save filename results -struct

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Tags

Asked:

on 6 Mar 2015

Commented:

on 6 Mar 2015

Community Treasure Hunt

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

Start Hunting!