Function inside a for loop

2 vues (au cours des 30 derniers jours)
gdz
gdz le 17 Déc 2022
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 commentaires
Askic V
Askic V le 17 Déc 2022
You can measure time with tic and toc.
Please have a look at:
https://www.mathworks.com/help/matlab/ref/tic.html
gdz
gdz le 18 Déc 2022
Thank you all of your help

Connectez-vous pour commenter.

Réponse acceptée

Askic V
Askic V le 17 Déc 2022
Déplacé(e) : Walter Roberson le 18 Déc 2022
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 commentaires
Walter Roberson
Walter Roberson le 17 Déc 2022
Déplacé(e) : Walter Roberson le 18 Déc 2022
I agree with Askic V
gdz
gdz le 17 Déc 2022
Déplacé(e) : Walter Roberson le 18 Déc 2022
I have add a pause function inside and it works!!!! Thank you very much.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by