run different times in the for loop

조회 수: 4 (최근 30일)
Mohamed Afify
Mohamed Afify 2021년 7월 19일
답변: Shravan Kumar Vankaramoni 2021년 7월 29일
Hello, I was running s simple for loop with a timer of 1 second as shown below:
r = ratecontrol(1);
n = [1 2 3 4 5]
for v = n
display(v)
waitfor(r);
end
Then I wanted to run parts of the array in different times, I though I would just make another array and run two for loops but MATLAB is single threaded.
what if I have three different arrays:
x = [1 2 3 4]
y = [10 3 6]
z = [3 8 0]
and I want to run X in a 1 second interval, y in 5 second interval and z in 10 second interval, but all running in same for loop in the same time?

답변 (1개)

Shravan Kumar Vankaramoni
Shravan Kumar Vankaramoni 2021년 7월 29일
Hi,
rateControl cannot be applied here. It executes only at a fixed frequency. You can use pause(t) to execute the loop at different fequencies. Below codes demonstrates the same
n = [1 2 3 4 5];
delays = [1 1 2 3 3];
count = 1;
for x = n
tic
disp(x);
pause(delays(count));
count = count + 1;
toc
end
Refer these links:

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by