MATLAB останавливает программу после X повторений?
Вопрос
У меня есть эта программа, которая, как вы можете видеть, извлекает из каталога случайные изображения и просит пользователя сравнить их.После установки значения с помощью ползунка пользователь нажимает кнопку «Следующая проба», которая сбрасывает ползунок и случайную пару изображений.Как изменить код так, чтобы после определенного количества повторений (нажатий кнопок) программа автоматически завершалась (желательно с сообщением «Эксперимент завершен»)?
Я не могу найти ничего о том, как это сделать, в документации MATLAB.Нужно ли мне устанавливать переменную, чтобы каждый раз при нажатии кнопки к значению переменной добавлялась «1», чтобы при достижении определенного числа (скажем, «100») она прекращала свою работу?Это самый простой способ сделать это?
Вот сценарий:
родовое словоРешение
Одна проблема, которую я вижу здесь, заключается в том, что обратный вызов для вашей кнопки «Следующее испытание» просто снова вызывает функцию trials
. Это снова создаст комбинации изображений, которые вам нужно / нужно сделать только один раз. Вы должны установить обратный вызов как другую вложенную функцию (например, cb
), чтобы она могла получить доступ к уже созданным комбинациям.
Другая проблема заключается в том, как вы инициализируете picture1
и picture2
. Вы должны выполнять индексацию следующим образом:
Теперь вам сначала нужно инициализировать переменную, чтобы отслеживать количество испытаний внутри функции trials
, а также максимальное количество испытаний:
Тогда обратный вызов кнопки «Следующее испытание» будет выглядеть примерно так:
родовое слово
Еще одно предложение ... вместо отображения значения ползунка на экране с помощью FPRINTF , я бы создал текстовый объект в вашем графическом интерфейсе и просто обновил бы его строковое значение: