Вы можете следовать инструкциям для отладки:
Отладка:
Использование средства отладки позволит вам остановить программу в середине выполнения, чтобы проверить содержимое переменных и другие вещи, которые могут помочь вам найти ошибки в вашей программе. Программы M-файла останавливаются на «точках останова». Чтобы создать точку останова, просто нажмите F12, и рядом с линией, где находится курсор, появится красная точка. Вы также можете нажать на тире рядом с номером строки в левой части окна М-файла, чтобы добиться того же результата.
Затем нажмите F5 или Debug-> Run из меню, чтобы запустить программу. Он остановится в точке останова с зеленой стрелкой рядом с ним. Затем вы можете просмотреть содержимое переменных в рабочей области, выполнить шаг, продолжить или остановить вашу программу с помощью меню «Отладка». Чтобы проверить содержимое переменной, просто введите ее имя в рабочую область, но имейте в виду: вы можете просматривать только значения переменных в файле, в котором вы остановились, так что это означает, что вам, вероятно, понадобится несколько точек останова, чтобы найти источник вашей проблемы. Существует несколько различных способов перемещения по программе с точки останова. Один способ - пройти всю программу, построчно, вводя каждую вызываемую функцию. Это эффективно, если вы не знаете, где проблема. Есть также способ просто пройтись по функции, в которой вы остановились в данный момент, по одной строке за раз, и вместо того, чтобы проходить через дочерние функции построчно, MATLAB просто выдаст вам результаты этих функций.
Наконец, обратите внимание, что вы не можете установить точку останова, пока не сохраните М-файл. Если вы что-то изменили, вы должны сохранить до того, как точка останова «заметит» ваши изменения. Эта ситуация изображена в MATLAB путем изменения точек с красного на серый. Иногда вы сохраните, но точки все равно будут серыми; это происходит, когда у вас есть несколько точек останова в нескольких файлах. Чтобы обойти это (что действительно раздражает), вы должны продолжать идти в «выход из режима отладки», пока он не станет серым. Как только вы полностью выйдете из режима отладки, ваш файл будет сохранен, и вы будете готовы начать еще один раунд отладки. Использование комментариев, чтобы помочь вам отладить код. Вы хотите проверить эффекты пропуска определенных строк кода (например, чтобы увидеть, если программа все еще возвращает Inf, если вы их удалите), вы можете закомментировать код. Для этого выделите его, а затем перейдите к:
Текст -> Комментарий
Или нажмите CTRL + R. Это просто поставит «%» перед каждой строкой; если строка уже закомментирована, она добавит еще один «%», поэтому, когда вы раскомментируете их, шаблон строк комментариев не изменится. Комментированные строки будут игнорироваться компилятором, поэтому программа будет работать без них.
Чтобы раскомментировать строку, перейдите к
Текст -> Раскомментировать
Или нажмите CTRL + T.
Другой способ комментирования - проверить разницу между двумя возможными наборами кода, чтобы что-то сделать (например, вы можете проверить эффект использования ODE113 вместо ODE45 для решения дифференциального уравнения, поэтому у вас будет одна строка зову каждого). Вы можете проверить разницу, закомментировав одну и запустив программу, затем раскомментировав ту и закомментировав другую, и снова вызвав программу.
Как избежать бесконечных циклов?MATLAB не может напрямую сказать вам, что у вас бесконечный цикл, он пытается дать вам несколько советов. Первый приходит, когда вы завершаете программу. Завершите его, нажав CTRL + C, и MATLAB выдаст вам сообщение, в котором будет точно указано, на какой линии вы остановились. Если ваша программа выполняется долго, скорее всего, строка, в которой вы остановились, находится в середине бесконечного цикла. иногда MATLAB даже не позволяет вам вернуться в главное окно, чтобы нажать CTRL-C. В этом случае вам, вероятно, придется уничтожить весь процесс MATLAB. После этого добавьте «pause (0.001)» или аналогичное небольшое значение в цикле, который, как вы подозреваете, является бесконечным. Всякий раз, когда MATLAB передает эту инструкцию, вы сможете взаимодействовать с MATLAB в течение (очень) короткого времени, например, перейдите в главное окно и нажмите CTRL-C, чтобы MATLAB мог ответить на вашу команду.