Просто к определенному индексу цикла при отладке - PullRequest
0 голосов
/ 30 мая 2018

MATLAB имеет несколько удобных функций, которые помогают упростить отладку кода с помощью вызовов функций, например:

  • "step" для выполнения строки без отображения инструкций тела функции.
  • "step in" для перехода к соответствующему телу функции, если это возможно.
  • "continue", как обычно, выполняет строки кода до следующей точки останова.

Есть ли способ (или взлом, какЯ не нашел опции, найденной в инструментах отладчика), чтобы ускорить итерации цикла до нужного индекса?Ручная итерация по индексам пикселей в изображениях размером более 300x300 является абсурдной тратой времени.

Допустим, я хочу быстро достичь определенного индекса в следующем цикле, например x=50 и y=90:

for x=leftxlimit:rightxlimit
    for y=topylimit:botylimit
        if (toplayers2(y,x) == 0)
            ...
        end
    end
end

1 Ответ

0 голосов
/ 30 мая 2018

Вы должны использовать условные контрольные точки

Установите контрольную точку в цикле, щелкните правой кнопкой мыши и выберите «Установить / изменить условие».

Затем вы можете установить условие«x == 50 && y == 50» (или что-то еще) с использованием переменных рабочей области и стандартных выражений MATLAB.

Таким образом, вы можете запустить код нормально (без перехода) и он остановится на этой строке тогда и только тогда, когдаусловие верно.

Если вы хотите остановиться на строке для нескольких значений x или y, просто сформулируйте свое условие как истинное для таких значений, как, например, x == 50 && y >= 50 && y <= 60.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...