Using a while loop to call and name files.
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Christopher Hall
il 9 Feb 2015
Modificato: Stephen23
il 11 Feb 2015
Hi,
I am trying to use a while loop to call files from a cell array. The cell array has one columns. Column 1 holds X,Y terrain data (512 x 2).
To manually get the data I have to use TD1 = TD{1,1}; however I am going to be dealing with possibly hundreds of rows of this data so need to be able to use a while loop.
The variable Num in this case is the total number of files which have been imported and the while function knows that it can stop once it as reached a value greater than it.
I want to store each variable from the while loop hence the ii value. So that I end up with TD1, TD2, TD3 ....
ii=1;
while ii <= Num
TD(ii) = TD{1,1};
|TD1 = TD{1,1};|
|TD2 = TD{1,2};|Current Manual Method
|TD3 = TD{1,3};|
end
4 Commenti
Stephen23
il 9 Feb 2015
Modificato: Stephen23
il 11 Feb 2015
Yes, exactly right, your example is perfectly correct. In every place where you want to use some variable, you can also refer to the indexed element of any cell array, structure, or any other kind of array. Instead of creating and referring to:
A1 = [A1 data]
A2 = [A2 data]
...
You should store your data together (here in a cell array):
A = {[A1 data],[A2 data]...};
Then refer to the elements of A:
A{1} % equivalent to your variable A1
A{2} % equivalent to your variable A2
...
For example:
min(A{1}) % min of the first element of the cell array, i.e. A1 data.
Go and try it! You will also find lots of helpful tools and functions that operate on your cell array , which will make your life a million times easier than if you named each variable individually.
Risposta accettata
Stephen23
il 9 Feb 2015
Do not create variable names dynamically in MATLAB. Use a cell array instead.
In case you are interested, here are some pages explaining why dynamically assigning variable names is a really bad idea in MATLAB:
0 Commenti
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Data Type Identification in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!