Borrar filtros
Borrar filtros

Function inside a for loop

1 visualización (últimos 30 días)
gdz
gdz el 17 de Dic. de 2022
Movida: Walter Roberson el 18 de Dic. de 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 comentarios
Askic V
Askic V el 17 de Dic. de 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 el 18 de Dic. de 2022
Thank you all of your help

Iniciar sesión para comentar.

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by