Go back to initializing values using for loop when condition is not met
    14 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Mounisha Ganesan
 el 10 de Jul. de 2019
  
    
    
    
    
    Comentada: infinity
      
 el 10 de Jul. de 2019
            I have a for loop where I initiialize random values to variables and I check for certain condition, if my condition is not met I have to reinitialize the values for the same iteration. How do I do so?
Here's a sample
n = 100;
for i = 1:n
    x(i) = rand
    y(i) = rand
    if(x(i)< 0 || y(i)<0)
        disp(' I need to reinitialize values for the same i and my n count should be 100')
    end
end
So I have to run the loop until I reach my 'n' value and meet my conditions within the loop. Is there a way to do it or should I use different loop like while?
0 comentarios
Respuesta aceptada
  infinity
      
 el 10 de Jul. de 2019
        
      Editada: infinity
      
 el 10 de Jul. de 2019
  
      Hello, 
There are several ways, one approach that you can use as follows
clear
n = 100;
x = zeros(1,n);
y = zeros(1,n);
for i = 1:n
    xt = rand;
    yt = rand;
    while (xt*yt<0)
      xt = rand;
      yt = rand;
    end
    x(i) = xt;
    y(i) = yt;
end
6 comentarios
  infinity
      
 el 10 de Jul. de 2019
				Hello, 
I got your point. You can see my comment above, which is just modified. 
Más respuestas (0)
Ver también
Categorías
				Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

