Counting in a loop

4 views (last 30 days)
Alexandra Bukowska
Alexandra Bukowska on 9 Oct 2020
Edited: madhan ravi on 9 Oct 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

Answers (1)

madhan ravi
madhan ravi on 9 Oct 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 Comments
madhan ravi
madhan ravi on 9 Oct 2020
Edited: madhan ravi on 9 Oct 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.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by