Идентифицируйте узкие места эффективности решателя
Откройте Solver Profiler, щелкнув гиперссылку в правом нижнем углу Simulink® Редактор.
Continuous States
- Сохраните состояния модели в файлПо умолчанию профилировщик не сохраняет состояния модели. Включение этого параметра конфигурирует профилировщик для сохранения состояний в MAT файла данных профилировщика.
Simscape States
- Сохраните Simscape™ состояния в файлВключите этот параметр, чтобы сохранить состояния Simscape в данных профилировщика MAT файла.
Zero Crossing
- Сохраните данные пересечения нуля в файлВключите этот параметр, чтобы сохранить информацию о пересечении нуля в MAT данных профилировщика файлов
Model Jacobian
- Сохранить модель якобианОпция для регистрации решателя Матрицы Якобяна в памяти. Эта опция полезна для симуляций, которые используют неявные решатели. Сравнение решателей смотрите в Сравнение решателей.
Более подробное объяснение решателя Jacobian смотрите в Выбрать якобианский метод для неявного решателя.
Simscape Stiffness
- Логарифмический анализ жесткости состояний SimscapeВключите этот параметр, чтобы записать анализ жесткости состояний Simscape в файл MAT данных профилировщика. Для получения дополнительной информации о представлении Simscape жесткости и других концепций физических систем, смотрите, Как Simscape Моделей представляют физические системы (Simscape)
From
- Время запуска профилировщикаВремя, в секундах, симуляции, которую профилировщик начинает анализировать модель. Это не то же самое, что и время начала симуляции.
To
- Время остановки профилировщикаВремя, в секундах, симуляции, которому профилировщик должен профилировать модель. По умолчанию анализ продолжается до конца симуляции. Изменение этого параметра не изменяет время остановки модели, которое вы задаете в Параметрах конфигурации модели.
Значение, меньше сконфигурированного времени остановки модели, останавливает профилирование и симуляцию в StopTime
.
Buffer
- Влияние логгирования на памятьМаксимальное количество зарегистрированных событий. Если количество зарегистрированных событий достигает этого значения, и память доступна, увеличьте BufferSize
. Если память ограничена, рассмотрите снижение значения.
Solver Exception
- Показать события исключения решателяВключите этот параметр, чтобы подсветить события исключений решателя на графике Step Size Solver Profiler.
Solver Reset
- Показать события сброса решателяВключите этот параметр, чтобы подсветить события сброса решателя на графике Step Size Solver Profiler.
Zero Crossing
- Показать события пересечения нуляВключите этот параметр, чтобы выделить события пересечения нуля на графике Step Size Solver Profiler.
Jacobian Update
- Показать события обновления якобианаВключите этот параметр, чтобы выделить события обновления Якобяна на графике Step Size Solver Profiler.
Rule Customization
- Изменение порогов для правил профилировщикаЩелкните Rule Customization в Solver Profiler, чтобы получить доступ к набору правил. Можно изменить пороги для большинства из этих правил, а также выбрать правила, которые необходимо применять выборочно во время запуска симуляции.
Чтобы изменить правило, включите его индивидуальную настройку и введите желаемое пороговое значение.
Можно переопределить параметры в диалоговом окне Rule Set, задав пользовательский набор правил.
Создайте набор правил как MATLAB® скрипт и укажите путь к скрипту в Custom Rule Set разделе диалогового окна Rule Set.
Пример простого набора правил выглядит следующим образом:
function diagnosticsString = customRule(profilerData) if isempty(profilerData.zcEvents) diagnosticsString{1} = 'No zero crossing event detected.'; else diagnosticsString{1} = 'Zero-crossing events detected.'; end end
profilerData
. Этот массив структур организует всю информацию, которую Solver Profiler собирает во время запуска профилирования. Он содержит следующие подструктуры.
Фундамент | Области |
---|---|
stateInfo : Сохраняет информацию о состояниях блока |
|
blockInfo : Перекрестная ссылка на блоки и идентификаторы состояний |
|
zcSrcInfo : Хранит информацию о блоках, вызывающих события пересечения нуля |
|
zcEvents : Перекрестная ссылка на метки времени событий пересечения нуля и соответствующие идентификаторы состояний |
|
exceptionEvents : Перекрестная ссылка на временные метки событий исключения, идентификатор соответствующего состояния, вызвавшего событие, и причину. |
|
resetTime : Хранит метки времени сбросов решателя. | Ничего |
tout : Сохраняет времена симуляции. | Ничего |
Типы данных: double