MATLAB останавливает программу после X повторений?

StackOverflow https://stackoverflow.com/questions/9398882

Вопрос

У меня есть эта программа, которая, как вы можете видеть, извлекает из каталога случайные изображения и просит пользователя сравнить их.После установки значения с помощью ползунка пользователь нажимает кнопку «Следующая проба», которая сбрасывает ползунок и случайную пару изображений.Как изменить код так, чтобы после определенного количества повторений (нажатий кнопок) программа автоматически завершалась (желательно с сообщением «Эксперимент завершен»)?

Я не могу найти ничего о том, как это сделать, в документации MATLAB.Нужно ли мне устанавливать переменную, чтобы каждый раз при нажатии кнопки к значению переменной добавлялась «1», чтобы при достижении определенного числа (скажем, «100») она прекращала свою работу?Это самый простой способ сделать это?

Вот сценарий:

родовое слово
Это было полезно?

Решение

Одна проблема, которую я вижу здесь, заключается в том, что обратный вызов для вашей кнопки «Следующее испытание» просто снова вызывает функцию trials. Это снова создаст комбинации изображений, которые вам нужно / нужно сделать только один раз. Вы должны установить обратный вызов как другую вложенную функцию (например, cb), чтобы она могла получить доступ к уже созданным комбинациям.

Другая проблема заключается в том, как вы инициализируете picture1 и picture2. Вы должны выполнять индексацию следующим образом:

родовое слово

Теперь вам сначала нужно инициализировать переменную, чтобы отслеживать количество испытаний внутри функции trials, а также максимальное количество испытаний:

родовое слово

Тогда обратный вызов кнопки «Следующее испытание» будет выглядеть примерно так:

родовое слово


Еще одно предложение ... вместо отображения значения ползунка на экране с помощью FPRINTF , я бы создал текстовый объект в вашем графическом интерфейсе и просто обновил бы его строковое значение:

родовое слово
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top