Counting in a loop

1 visualización (últimos 30 días)
Alexandra Bukowska
Alexandra Bukowska el 9 de Oct. de 2020
Editada: madhan ravi el 9 de Oct. de 2020
Hi, i'm having trouble getting my answer in the from of an array when calling a previously defined function inside a for loop. Am i calling or defining the counting varibale wrong or am i not calling it in the right places. Please help.
function times = timeLoop(startVelocity, distance)
for i = (1:length(startVelocity))
times = fallTime(startVelocity(i), distance(i));
end
end
call using times = timeLoop([2, -3, 5],[100, 150, 300])
supposed to get times = 4.3160 5.8443 7.3275
keep getting times = 7.3275

Respuestas (1)

madhan ravi
madhan ravi el 9 de Oct. de 2020
Note: Never name a variable times.
function TimeS = timeLoop(startVelocity, distance)
TimeS = zeros(size(startVelocity));
for ii = 1 : numel(startVelocity) % loop could be avoided if fallTime() is vectorised
TimeS(ii) = fallTime(startVelocity(ii), distance(ii));
end
end
  3 comentarios
madhan ravi
madhan ravi el 9 de Oct. de 2020
Alexandra:
sorry, i figured it out, just need to define times with the counter too.
function times = timeLoop5(startVelocity, distance)
for i = (1:length(startVelocity))
times(i) = fallTime(startVelocity(i), distance(i));
end
end
madhan ravi
madhan ravi el 9 de Oct. de 2020
Editada: madhan ravi el 9 de Oct. de 2020
As suggested in my answer don't use a variable named times , it'll shadow the inbuilt function times() .
Always preallocate the variable before the loop.
Never use i as an iterator because MATLAB also interprets it as an imaginary unit.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by