Внутри моего кода у меня есть 2 цикла while, которые выглядят следующим образом:
sequence = [15 35 50];
startStamp = GetSecs %GetSecs is a psychtoolbox function that returns the current time in seconds
while GetSecs - startStamp < sequence(1) || (GetSecs - startStamp >= sequence(2) && GetSecs - startStamp <= sequence(3))
cond1 %display stimulus 1
end
while GetSecs - startStamp >= sequence(1) && GetSecs - startStamp < sequence(2)
cond2 %display stimulus 2
end
Всякий раз, когда таймер (GetSecs - startStamp) достигает одного из элементов последовательности, я хочу перейти из одного цикла while вдругой, а затем выполняйте его, пока не будет достигнут следующий элемент последовательности, переключение циклов и т. д. *
Способ, которым я структурировал свои условные операторы для входа в циклы while, не очень тонкий, но он становится экспоненциально хуже по мере того, какчисло (последовательность) увеличивается.
Есть ли способ сделать это более элегантно и работать с переменной длиной последовательности?