Function inside a for loop

2 visualizzazioni (ultimi 30 giorni)
gdz
gdz il 17 Dic 2022
Spostato: Walter Roberson il 18 Dic 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 Commenti
Askic V
Askic V il 17 Dic 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 il 18 Dic 2022
Thank you all of your help

Accedi per commentare.

Risposta accettata

Askic V
Askic V il 17 Dic 2022
Spostato: Walter Roberson il 18 Dic 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 Commenti
Walter Roberson
Walter Roberson il 17 Dic 2022
Spostato: Walter Roberson il 18 Dic 2022
I agree with Askic V
gdz
gdz il 17 Dic 2022
Spostato: Walter Roberson il 18 Dic 2022
I have add a pause function inside and it works!!!! Thank you very much.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by