Установите уровень трассировки решателя
strace
level
i
strace
заставляет решатель отображать диагностическую информацию в MATLAB® Командное окно, в зависимости от значения level
level
. Значения 0
(нет информации) или 4
(максимальная информация о временных шагах, шагах интегрирования, пересечениях нуля и сбросах решателя).
i
- краткая форма команды.
Отобразите максимальную информацию о симуляции для модели vdp
использование Simulink® отладчик.
В Командном Окне MATLAB введите:
sldebug 'vdp'
Командная строка MATLAB > > изменяется на приглашение отладчика Simulink (sldebug @ 0): > >.
Получите информацию о обозначении. Введите:
help time
В Командном Окне MATLAB отображаются:
Time is displayed as: TM = <time while in MajorTimeStep> Tm = <time while in MinorTimeStep> Tr = <time while in solver reset> Tz = <time at or just after zero crossing> TzL = <time while in major step just before (at left post of) zero crossing> TzR = <time while in major step at or just after (at right post of) zero crossing> Ts = <time of successful integration step> Tf = <time of failed integration step> Tn = <time while in Newton iteration> (when using implicit solvers) Tj = <time during Jacobian evaluation> (when using implicit solvers) Step size is displayed as: Hm = <step size at the start of solver phase> Hs = <successful integration step size> Hf = <failed integration step size> Hn = <step size during Newton iteration> (when using implicit solvers) Hz = <value of 'TM - TzL' during zero crossing search> Iz = <value of 'Tz - TzL' during zero crossing search>
Установите трассировку, чтобы отобразить всю информацию. Введите:
strace 1
Когда диагностическая трассировка включена, отладчик отображает начало основного и незначительного временных шагов.
[TM = 13.21072088374186 ] Start of Major Time Step [Tm = 13.21072088374186 ] Start of Minor Time Step
Отладчик отображает интегрирование информацию. Эта информация включает в себя временной шаг способа интегрирования, размер шага способа интегрирования, результат шага интегрирования, нормализованную ошибку и индекс состояния.
[Tm = 13.21072088374186 ] [H = 0.2751116230148764 ] Begin Integration Step [Tf = 13.48583250675674 ] [Hf = 0.2751116230148764 ] Fail [Er = 1.0404e+000] [Ix = 1] [Tm = 13.21072088374186 ] [H = 0.2183536061326544 ] Retry [Ts = 13.42907448987452 ] [Hs = 0.2183536061326539 ] Pass [Er = 2.8856e-001] [Ix = 1]
Для пересечения нуля отладчик отображает информацию об итерационном алгоритме поиска, когда произошло пересечение нуля. Эта информация включает в себя временной шаг пересечения нуля, размер шага алгоритма обнаружения пересечения нуля, длину временного интервала, заключающего в квадратные скобки пересечение нуля, и флаг, обозначающий направление возрастания или падения пересечения нуля.
[Tz = 3.615333333333301 ] Detected 1 Zero Crossing Event 0[F] Begin iterative search to bracket zero crossing event [Tz = 3.621111157580072 ] [Hz = 0.005777824246771424 ] [Iz = 4.2222e-003] 0[F] [Tz = 3.621116982080098 ] [Hz = 0.005783648746797265 ] [Iz = 4.2164e-003] 0[F] [Tz = 3.621116987943544 ] [Hz = 0.005783654610242994 ] [Iz = 4.2163e-003] 0[F] [Tz = 3.621116987943544 ] [Hz = 0.005783654610242994 ] [Iz = 1.1804e-011] 0[F] [Tz = 3.621116987949452 ] [Hz = 0.005783654616151157 ] [Iz = 5.8962e-012] 0[F] [Tz = 3.621116987949452 ] [Hz = 0.005783654616151157 ] [Iz = 5.1514e-014] 0[F] End iterative search to bracket zero crossing event
Когда происходит сброс решателя, отладчик отображает время, в которое был сброшен решатель.
[Tr = 6.246905153573676 ] Process Solver Reset [Tr = 6.246905153573676 ] Reset Zero Crossing Cache [Tr = 6.246905153573676 ] Reset Derivative Cache