How to reset a variable in a for loop?
    26 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello evreyone,
I was wondering if there is a way to reset variables in a for loop, I am going to show you an example to be as clear as possible,
for i=1:10
   X=1+rand()
   Y=["A","B","C"];
end
What I want to achieve is to clean up the X variable, that is, every time the for loop starts over, the X variable is cleared and recreated. I know it is very expensive for the pc, but all the values obtained in one click are stored in another variable and I need to recreate X. (I know well that in the example I have proposed the values are overwritten, but in the code that I am writing at each loop the values in the variable increase and are not overwritten)
7 Commenti
  Rik
      
      
 il 22 Set 2021
				Then it seems something like I suggested in your duplicate question should do what you want. Simply create your variables once and then pass them as parameters to your function. Using a struct can help to limit the number of input parameters so you don't get confused by the order (and so you can easily add new ones).
Risposte (2)
  Adam Danz
    
      
 il 21 Set 2021
        
      Modificato: Adam Danz
    
      
 il 21 Set 2021
  
      The example isn't very clear but I think you want to preserve the random X values within the loop.  If so, 
n = 10;         % number of iterations
x = nan(1,n); 
for i = 1:n
    x(i) = 1+rand(); 
    ...
end
Of course in this example, you could generate all x values at once using x = 1+rand(1,n);
0 Commenti
  David Hill
      
      
 il 21 Set 2021
        Use indexing.
X=1+rand(1,10);
for i=1:10
   Y=X(i)+5;%whatever you do.
end
0 Commenti
Vedere anche
Categorie
				Scopri di più su Logical 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!






