Creating and naming arrays on the fly
Show older comments
I have a vector composed of names. For each one of these names I want to create a separate array. Each name is to be called up from within a For loop and at that time populated with data from an external source using the "fetch" command, saved and then repeated for the name in the next row....etc.
Any idea how this can I can do this? Any help is more than appreciated.
Thanks.
Accepted Answer
More Answers (1)
Oleg Komarov
on 24 Jan 2012
Use structures:
c = {'name1','name2','name3'};
for n = 1:numel(c)
s.(c{n}) = fetch...
end
Or read faq 4.6 to get a wider understanding what you might be tempted to do and how to avoid it (I showed you one way).
EDIT
for n = 1:numel(c)
s.(T(n,:)) = fetch(Connect,T(n,:),...
end
Be aware however that names for structure fields cannot start from a number.
2 Comments
Carlos Freyre
on 25 Jan 2012
Oleg Komarov
on 25 Jan 2012
You cannot assign results from fetch back to T(i,:) since they will most likely be cell arrays.
See my edit.
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!