В Создают Пользовательскую Функциональность Используя блок MATLAB function, вы создали модель в качестве примера с блоком MATLAB function, который вычисляет среднее и стандартное отклонение для набора входных значений. Программное обеспечение позволяет отладить для функции MATLAB, когда вы устанавливаете точку останова.
Отлаживать функцию MATLAB в этой модели:
Откройте модель call_stats_block2
и дважды кликните блок MATLAB function stats
, чтобы открыть редактор.
В Редакторе блока MATLAB function кликните по тире (-
) в левом поле строки:
len = length(vals);
Красная точка появляется в поле строки, указывая на точку останова.
Моделируйте модель.
Симуляция делает паузу, когда выполнение достигает точки останова. Это обозначается зеленой стрелкой в поле.
На панели инструментов нажмите Step, чтобы усовершенствовать выполнение.
Стрелка выполнения переходит к следующей строке stats
, который вызывает локальную функцию avg
.
На панели инструментов нажмите Step In.
Выполнение совершенствуется, чтобы ввести локальную функцию avg
. Если вы находитесь в локальной функции, можно использовать Шаг или Шаг В командах, чтобы усовершенствовать выполнение. Если локальная функция вызывает другую локальную функцию, использование Вступают, чтобы ввести его. Если вы хотите выполнить остающиеся строки локальной функции, использование Выходят.
Нажмите Step, чтобы выполнить единственную строку в локальной функции avg
. Когда локальная функция, которую avg
закончил выполнять, зеленая стрелка, указывая вниз, появляется под последней строкой функции.
Нажмите Step, чтобы возвратиться к функциональному stats
.
Выполнение переходит к строке после вызова локальной функции avg
.
Нажмите Step дважды, чтобы вычислить stdev
и выполнить функцию plot
.
Функция построения графика выполняется в MATLAB®:
В Редакторе блока MATLAB function зеленая стрелка показывает вниз под последней строкой кода, указывая на завершение функционального stats
.
Нажмите Continue, чтобы продолжить выполнение модели.
Вычисленные значения mean
и stdev
появляются в блоках Отображения.
В Редакторе блока MATLAB function нажмите Quit Debugging, чтобы остановить симуляцию.
Чтобы помочь вам отладить код, можно ввести выражение MATLAB как условие на точке останова в блоке MATLAB function. Симуляция затем делает паузу на той точке останова только, когда условие верно. Чтобы установить условную точку останова, в редакторе блока MATLAB function, щелкают правой кнопкой около строки кода и выбирают Set Conditional Breakpoint. Введите условие во всплывающем окне. Можно использовать любое допустимое выражение MATLAB в качестве условия. Это выражение условия может включать численные значения и любые данные, которые находятся в осциллографе в точке останова.
Чтобы добавить или изменить условие на существующей точке останова, щелкните правой кнопкой по точке останова и выберите Set/Modify Condition. Можно также выполнить эти действия из меню Breakpoints.
В то время как вы моделируете блок MATLAB function, можно использовать несколько инструментов, чтобы отслеживать значения переменных в функции.
Отобразить значение переменной в функции блока MATLAB function во время симуляции:
В Редакторе блока MATLAB function установите курсор мыши на переменный текст и наблюдайте раскрывающееся отображение.
Например, чтобы смотреть переменную len
во время симуляции, установите курсор мыши на текст len
в коде. Значение len
кажется смежным с курсором, как показано:
Можно сообщить о значениях для функциональной переменной с утилитой Отладчика Командной строки в окне MATLAB во время симуляции. Когда вы достигаете точки останова, подсказка Отладчика Командной строки, debug>>
, появляется. В этой подсказке вы видите значение переменной, заданной для блока MATLAB function путем ввода его имени:
debug>> stdev 1.1180 debug>>
Отладчик Командной строки также обеспечивает следующие команды во время симуляции:
Команда | Описание |
---|---|
| Выйдите из отладки и оконечной симуляции. |
| Продолжите выполнение, чтобы затем установить точки останова. |
| Выйдите из отладки и оконечной симуляции. |
| Перейдите к следующему шагу программы после того, как с точкой останова столкнутся. Переступите или продвиньтесь в/из локальную функцию MATLAB. |
| Отобразите справку для отладки командной строки. |
| Отобразите значение переменной |
| Сохраняет все переменные в текущем осциллографе к заданному файлу. Следует за синтаксисом команды |
| Эквивалентный, чтобы "распечатать <var>", если переменная находится в текущем осциллографе. |
| Отобразите переменные в текущем осциллографе. |
| Отобразите размер и класс (тип) всех переменных в текущем осциллографе. |
Можно выпустить любую другую команду MATLAB в подсказке debug>>
, но результаты выполняются в рабочей области блока MATLAB function. Чтобы дать команду в базовом рабочем пространстве MATLAB в подсказке debug>>
, используйте команду evalin
с первым аргументом 'base'
, сопровождаемым второй командой аргумента, например, evalin('base','whos')
. Чтобы возвратиться к базовому рабочему пространству MATLAB, используйте команду dbquit
.
Можно отобразить результат выполнения строки блока MATLAB function путем исключения останавливающейся точки с запятой. Если вы делаете, результаты выполнения для строки отражены к окну MATLAB во время симуляции.
Редактор блока MATLAB function не отображает содержимое матриц, которые имеют больше чем две размерности или больше, чем элементы 200
. Для матриц, которые превышают эти пределы, Редактор блока MATLAB function отображает форму и базовый тип только.
Блоки MATLAB function проверяют вводы и выводы на нарушения области значений данных, когда значения ввода или вывода вводят или оставляют блоки. Чтобы включить проверку нарушения области значений данных, установите Simulation range checking в панели Diagnostics: Data Validity диалогового окна Configuration Parameters к error
.
Чтобы задать область значений для входных и выходных данных, выполните эти шаги:
В Портах и Менеджере данных, выберите ввод или вывод интереса.
Диалоговое окно свойств данных открывается.
В диалоговом окне свойств данных выберите вкладку "Общие" и введите предельную область значений, как описано в Setting General Properties.
Используйте следующие инструменты во время сеанса отладки блока MATLAB function:
Кнопка инструментов | Описание | Сочетание клавиш |
---|---|---|
Сборка | Доступ к этому инструменту от вкладки Editor путем выбора Build Model> Build. Проверьте ошибки и создайте приложение симуляции (если никакие ошибки не найдены) для модели, содержащей этот блок MATLAB function. | Ctrl+B |
Обновите схему | Доступ к этому инструменту от вкладки Editor путем выбора Build Model> Update Diagram. Проверьте ошибки на основе последних изменений, которые вы вносите в блок MATLAB function. | Ctrl+D |
Обновите порты | Доступ к этому инструменту от вкладки Editor путем выбора Build Model> Update Ports. Обновляет порты блока MATLAB function с последними изменениями, внесенными в аргумент функции и возвращаемые значения, не закрывая Редактор блока MATLAB function. | Ctrl+Shift+A |
Запустите модель | Запустите симуляцию модели, содержащей блок MATLAB function. Если выполнение приостановлено в точке останова, продолжает отлаживать. | F5 |
Остановите модель | Остановите симуляцию модели, содержащей блок MATLAB function. Также от вкладки Editor, выберите Quit Debugging, если выполнение приостановлено в точке останова. | Shift+F5 |
Установить/Очистить | Доступ к этому инструменту путем выбора Breakpoints> Set/Clear. Установите новую точку останова или очистите существующую точку останова для выбранной строки кода в блоке MATLAB function. Присутствие текстового курсора или выделенного текста выбирает строку. Индикатор точки останова появляется на выбранной строке. Также кликните по символу дефиса ( | F12 |
Позволить/Запретить | Доступ к этому инструменту путем выбора Breakpoints> Enable/Disable. Включите или отключите существующую точку останова для выбранной строки кода в блоке MATLAB function. Если точка останова отключена, индикатор появляется на выбранной строке. | 'none' |
Установите условие | Доступ к этому инструменту путем выбора Breakpoints> Set Condition. Установите условие на точке останова для выбранной строки кода в блоке MATLAB function. Если точке останова сопоставили условие с ним, индикатор появляется на выбранной строке. | |
Очистите все | Доступ к этому инструменту путем выбора Breakpoints> Clear All. Очистите все существующие точки останова в коде блока MATLAB function. | 'none' |
Шаг | Продвиньтесь посредством выполнения следующей строки кода в блоке MATLAB function. Этот инструмент продвигается прошлые вызовы функции и не вводит вызванные функции для линию за линией выполнения. Можно использовать этот инструмент только после того, как выполнение остановилось в точке останова. | F10 |
Вступить | Продвиньтесь посредством выполнения следующей строки кода в блоке MATLAB function. Если строка вызывает локальную функцию, шаг в первую строку локальной функции. Можно использовать этот инструмент только после того, как выполнение остановилось в точке останова. | F11 |
Выйти | Продвиньтесь из линию за линией выполнения текущей функциональной или локальной функции. Если в локальной функции, отладчик продолжается к строке после вызова этой локальной функции. Можно использовать этот инструмент только после того, как выполнение остановилось в точке останова. | Shift+F11 |
Продолжение | Продолжите отлаживать после паузы, такой как остановка в точке останова. Можно использовать этот инструмент только после того, как выполнение остановилось в точке останова. | F5 |
Выйдите из отладки | Выйдите из режима отладки. Можно использовать этот инструмент только после того, как выполнение остановилось в точке останова. | Shift+F5 |