Отладчик позволяет вам отображать блок I/O путем нажатия соответствующих кнопок на панели инструментов отладчика
или путем ввода соответствующей команды отладчика.
Эта команда... | Отображает ввод-вывод блоков... |
---|---|
probe | Сразу |
disp | В каждой точке останова любые остановки выполнения времени |
trace | Каждый раз, когда блок выполняется |
Две кнопки на панели инструментов отладчика, Смотрите Block I/O (), и ввод-вывод Блока Отображения () соответствуют, соответственно, к trace gcb
и probe gcb
. probe
и команды disp
не имеют взаимно-однозначного соответствия с кнопками на панели инструментов отладчика.
Чтобы отобразить ввод-вывод блока, выберите блок и нажатие кнопки в режиме GUI или введите команду probe
в режим командной строки. В следующей таблице команда probe gcb
имеет соответствующую кнопку на панели инструментов. Другие команды не делают.
Команда | Описание |
---|---|
| Введите или выйдите из режима |
| Отобразите ввод-вывод выбранного блока. То же самое как. |
| Распечатайте ввод-вывод блока, заданного номером системы |
Отладчик распечатывает текущие входные параметры, выходные параметры и состояния выбранного блока в отладчике Выходная панель (режим GUI) или Командное окно продукта MATLAB®.
Команда probe
полезна, когда необходимо исследовать ввод-вывод блока, ввод-вывод которого в противном случае не отображен. Например, предположите, что вы используете команду step
, чтобы запустить образцовый метод методом. Каждый раз, когда вы продвигаетесь симуляция, отладчик отображает вводы и выводы текущего блока. Команда probe
позволяет вам исследовать ввод-вывод других блоков также.
Команда disp
заставляет отладчик отображать вводы и выводы заданного блока каждый раз, когда это останавливает симуляцию. Можно задать блок путем ввода его индекса блока и ввода gcb
как аргумента команды disp
. Можно удалить любой блок от списка отладчиков точек отображения, с помощью команды undisp
. Например, чтобы удалить block 0:0
, введите undisp 0:0
.
Автоматическое отображение блока I/O в точках останова не доступно в режиме GUI отладчика.
Команда disp
полезна, когда необходимо контролировать ввод-вывод определенного блока или набор блоков, когда вы продвигаетесь посредством симуляции. Используя команду disp
, можно задать блоки, которые вы хотите контролировать, и отладчик затем вновь отобразит ввод-вывод тех блоков на каждом шаге. Обратите внимание на то, что отладчик всегда отображает ввод-вывод текущего блока, когда вы продвигаетесь через блок модели блоком, с помощью команды step
. Вы не должны использовать команду disp
, если вы интересуетесь наблюдением только ввода-вывода текущего блока.
Чтобы смотреть блок, выберите блок и нажатие кнопки на панели инструментов отладчика или введите команду trace
. В режиме GUI, если точка останова существует на блоке, можно установить часы на нем также путем установки флажка для блока в столбце часов панели точек Пропуска/Отображения. В режиме командной строки можно также задать блок путем определения его индекса блока в команде trace
. Можно удалить блок от списка отладчиков точек трассировки с помощью команды untrace
.
Отладчик отображает ввод-вывод смотревшего блока каждый раз, когда блок выполняется. Наблюдение блока позволяет вам, получают полную запись ввода-вывода блока, не имея необходимость останавливать симуляцию.
Команда atrace
заставляет отладчик отображать информацию об алгебраических циклах модели (см. Алгебраические Концепции Цикла), каждый раз они решены. Команда берет отдельный аргумент, который задает объем информации, чтобы отобразиться.
Эта команда... | Отображения для каждого алгебраического цикла... |
---|---|
atrace 0 | Никакая информация |
atrace 1 | Решение для переменной цикла, количество итераций, требуемых решить цикл и предполагаемую ошибку решения |
atrace 2 | То же самое как уровень 1 |
atrace 3 | Уровень 2 плюс якобиевская матрица раньше решал цикл |
atrace 4 | Уровень 3 плюс промежуточные решения переменной цикла |
Команда отладки
перечисляет текущие значения системных состояний в Окне Команды MATLAB. Например, следующая последовательность команд показывает состояния примера прыгающего мяча (states
sldemo_bounce
) после его первых, вторых, и третьих временных шагов. Однако прежде, чем ввести отладчик, откройте диалоговое окно Configuration Parameters и снимите флажки Block reduction и Signal storage reuse.
sldebug sldemo_bounce %----------------------------------------------------------------% [TM = 0 ] simulate(sldemo_bounce) (sldebug @0): >> step top %----------------------------------------------------------------% [TM = 0 ] sldemo_bounce.Outputs.Major (sldebug @16): >> next %----------------------------------------------------------------% [TM = 0 ] sldemo_bounce.Update (sldebug @23): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 15 (0:4:1) (sldebug @23): >> next %----------------------------------------------------------------% [Tm = 0 ] solverPhase (sldebug @26): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 15 (0:4:1) (sldebug @26): >> next %----------------------------------------------------------------% [TM = 0.01 ] sldemo_bounce.Outputs.Major (sldebug @16): >> states Continuous States: Idx Value (system:block:element Name 'BlockName') 0 10.1495095 (0:4:0 CSTATE 'sldemo_bounce/Second-Order Integrator') 1. 14.9019 (0:4:1)
Команда strace
позволяет вам точно определять проблемы в решении дифференциальные уравнения моделей, которые могут замедлить производительность симуляции. Выполнение этой команды заставляет отладчик отображать связанную с решателем информацию в командной строке продукта MATLAB, когда вы запускаетесь или продвигаетесь посредством симуляции. Информация включает размеры шагов, сделанных решателем, предполагаемая ошибка интегрирования, следующая из размера шага, успешно выполнился ли размер шага (т.е. удовлетворил требования точности, которые модель задает), времена, в которые сброс решателя происходит и т.д. Если вы обеспокоены временем, требуемым моделировать вашу модель, эта информация может помочь вам решить, является ли решатель, который вы выбрали, преступником и следовательно может ли выбор другого решателя сократить время, требуемое решить модель.