Function inside a for loop
2 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a function that works well when I called it one by one.
>>Calculate(a,cs,sclk)
ans: 20
>>Calculate(a,cs,sclk)
ans: 20.5
>>Calculate(a,cs,sclk)
ans: 20.25
However, when i switching the function inside a for loop, it kept produced the same answer.
for j=1:9
d=Calculate(a,cs,sclk);
fprintf('value %d is %d\n',j,d);
end
Asnwer:
value 1 is 10
value 2 is 10
.
.
.
value 9 is 10
And I called it in a series. They all produced the same answer.
>> d1=Calculate(a,cs,sclk);d2=Calculate(a,cs,sclk);d3=Calculate(a,cs,sclk);d4=Calculate(a,cs,sclk);
Ans:d1=15,d2=15,d3=15,d4=15,d5=15
Anyone know what's happened for my function here?
4 个评论
Askic V
2022-12-17
You can measure time with tic and toc.
Please have a look at:
https://www.mathworks.com/help/matlab/ref/tic.html
采纳的回答
Askic V
2022-12-17
移动:Walter Roberson
2022-12-18
For loop will be executed in a matter of milliseconds. On the other hand when you call function once at a time, there is a significantly more time difference between calls. So perhaps your input parameters cannot change fast enough in the loop call.
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!