How to avoid that loop
    4 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Alberto Menichetti
 am 3 Mai 2016
  
    
    
    
    
    Kommentiert: Steven Lord
    
      
 am 3 Mai 2016
            k(1) = 1;
for i=2:size(k)
  k(i) = k(i-1)*v(i)
end
v(i) is a scalar and it's different on every iteration How could I do that without using a loop?
2 Kommentare
  the cyclist
      
      
 am 3 Mai 2016
				
      Bearbeitet: the cyclist
      
      
 am 3 Mai 2016
  
			As written, this loop will never be executed, because size(k) is 1, and
for i = 2:1
  <stuff>
end
will have zero iterations.
Some coding mistake? Maybe you meant length(v)?
Akzeptierte Antwort
  the cyclist
      
      
 am 3 Mai 2016
        If my speculation about what you meant it correct, then
k = cumprod(v)/v(1)
2 Kommentare
  Steven Lord
    
      
 am 3 Mai 2016
				No, we understand you. Another approach that doesn't involve division:
v = randperm(8) % Sample data for demonstration purposes
k = cumprod([1 v(2:end)])
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
			
	Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


