Info
This question is closed. Reopen it to edit or answer.
is it possible to do something like this in the loop:
    2 views (last 30 days)
  
       Show older comments
    
if true
   % load Time;
   Time_test_1 = Time;
   clear Time;
   %load Time again;  
   Time_test_2 = Time;
   clear Time; 
   %load time again;
   Time_test_3 = Time;
   clear Time;
end
1 Comment
  Stephen23
      
      
 on 13 Jan 2017
				It is possible, but it is a really really bad idea. It is a very bad habit to learn. Naming variables in a loop makes your code slow, buggy, hard to debug, and harder to understand. Read this to know why:
Learn to use indexing rather than make lots of separate variables. Then your life suddenly gets better :)
Answers (1)
  the cyclist
      
      
 on 13 Jan 2017
        
      Edited: the cyclist
      
      
 on 13 Jan 2017
  
      if true
   % load Time;
   Time_test{1} = Time;
   clear Time;
   %load Time again;  
   Time_test{2} = Time;
   clear Time; 
   %load time again;
   Time_test{3} = Time;
   clear Time;
end
which can easily be looped over ...
for ii = 1:3
  % load Time
  Time_test{ii} = Time;
  clear Time
end
This forum has hundreds of posts about why that is a better way to code.
3 Comments
  Guillaume
      
      
 on 13 Jan 2017
				So? You can have cell arrays of cell arrays.
If the cell arrays all have the same number of rows or columns, you could also concatenate them.
Note that I would avoid using load without an output. Rather than:
load('somefile');  %pops the Time variable into existence.
Time_test{idx} = Time;
Use filecontent = load('somefile'); Time_test{idx} = filecontent.Time;
There's no danger of unknowingly overwriting existing variables with the second method.
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


