필터 지우기
필터 지우기

Function inside a for loop

조회 수: 1 (최근 30일)
gdz
gdz 2022년 12월 17일
이동: Walter Roberson 2022년 12월 18일
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
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
gdz
gdz 2022년 12월 18일
Thank you all of your help

댓글을 달려면 로그인하십시오.

채택된 답변

Askic V
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
Walter Roberson
Walter Roberson 2022년 12월 17일
이동: Walter Roberson 2022년 12월 18일
I agree with Askic V
gdz
gdz 2022년 12월 17일
이동: Walter Roberson 2022년 12월 18일
I have add a pause function inside and it works!!!! Thank you very much.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by