Исследуйте модель на анализ производительности
res = solverprofiler.profileModel(model)
res = solverprofiler.profileModel(model, Name,Value)
запускает Профилировщика Решателя на заданном res = solverprofiler.profileModel(model)
model
и хранит результаты в res
задает параметры Профилировщика Решателя с помощью одного или нескольких аргументов пары res = solverprofiler.profileModel(model, Name,Value)
Name, Value
.
Исследуйте образцовый f14
с помощью настроек командной строки по умолчанию.
model = 'f14';
res = solverprofiler.profileModel(model);
Вы видите сводные данные результатов путем вызова res.summary
сводные данные.
res.summary
struct with fields: solver: 'ode45' tStart: 0 tStop: 60 absTol: 1.0000e-06 relTol: 1.0000e-04 hMax: 0.1000 hAverage: 0.0444 steps: 1352 profileTime: 0.9974 zcNumber: 0 resetNumber: 600 jacobianNumber: 0 exceptionNumber: 195
Откройте результаты в диалоговом окне Профилировщика Решателя, чтобы визуализировать их. Этот шаг эквивалентен включению OpenSP
при вызывании функции.
solverprofiler.exploreResult(res)
Исследуйте образцовый ssc_actuator_custom_pneumatic
с полностью заданной настройкой.
model = 'ssc_actuator_custom_pneumatic'; res = solverprofiler.profileModel(model, ... 'SaveStates' , 'on', ... 'SaveSimscapeStates' , 'On', ... 'SaveJacobian' , 'On', ... 'StartTime' , 5, ... 'StopTime' , 50, ... 'BufferSize', 10000,... 'TimeOut', 5,... 'OpenSP', 'On',... 'DataFullFile', fullfile(pwd, 'ssc_profiling_result.mat'));
model
— Модель, чтобы исследоватьИмя модели, которая будет профилироваться, заданная как вектор символа.
Пример: h = solverprofiler.profileModel ('vdp')
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Имя
должно появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
, 0, 'StopTime', 10, 'SaveStates', 'On'
'SaveStates'
— Сохраните образцовые состояния в файлПо умолчанию профилировщик не сохраняет состояния модели. Включение этого параметра конфигурирует профилировщика, чтобы сохранить состояния в MAT-файл.
Пример: 'SaveStates', 'On'
'SaveSimscapeStates'
— Сохраните состояния Simscape™ в файлПозвольте этому параметру сохранить состояния Симскэйпа в MAT-файл.
Пример: 'SaveSimscapeStates', 'On'
'SaveJacobian'
— Сохраните образцовый якобианОпция, чтобы регистрировать матрицы якобиана решателя к памяти. Эта опция полезна для моделирований, которые используют неявные решатели. Для сравнения решателей смотрите, Сравнивают Решатели.
Пример: 'SaveJacobian', 'On'
Время начала
Время начала профилировщикаВремя, в секундах, моделирования, что профилировщик начинает анализировать модель. Это не то же самое как время начала моделирования.
Пример: 'StartTime', 5
'StopTime'
— Время остановки профилировщикаВремя, в секундах, моделирования, к которому профилировщик должен профилировать модель. По умолчанию анализ продолжается до конца моделирования. Изменение этого параметра не изменяет время остановки модели, которую вы задаете в Образцовых Параметрах конфигурации.
Значение меньше, чем сконфигурированное время остановки модели останавливает профилирование и моделирование в StopTime
.
Пример: 'StopTime', 30
'BufferSize'
— Влияние памяти журналированияМаксимальное количество событий, которые регистрируются. Если количество регистрируемых событий достигает этого значения, и память доступна, увеличение BufferSize
. Если память ограничивается, рассмотрите понижение значения.
Пример: 'BufferSize', 60000
Тайм-аут
Максимальное время, чтобы ожидать решателя, чтобы возобновитьсяВремя, в секундах, чтобы ожидать перед профилировщиком прекращает запускаться. Эта опция полезна в ситуациях, где моделирование не может продолжить. Профилировщик ожидает в течение требуемого времени и выходит, если никакие успехи не были сделаны.
Пример: 'Тайм-аут', 10
'OpenSP'
— Откройте диалоговое окно Solver ProfilerОпция, чтобы открыть диалоговое окно Solver Profiler после профилирования завершилась.
Пример: 'OpenSP', 'On'
'DataFullFile'
— Путь и имя сохраненных результатовПо умолчанию профильные результаты сохранены в MAT-файле под названием model_@_dd_Month_yyyy_hh_mm_ss.mat
в текущей рабочей папке. Можно задать различное имя файла, которым можно сохранить результаты в текущей рабочей папке. Чтобы сохранить файл в другом месте, задайте полный путь файла, включая имя файла.
Пример: 'DataFullFile', 'C:\Users\myusername\Documents\profiled\vdp_results.mat'
res
— Высокоуровневые сводные данные профилирования результатовПрофилирование результатов, возвращенных как структура с полями:
file
— Полный путь и имя сохраненных результатовПуть и имя MAT-файла, где результаты профильной операции сохранены как файл MAT. По умолчанию они сохранены в текущей рабочей папке с именем файла, имеющим шаблон: model_@_dd_Month_yyyy_hh_mm_ss.mat
. Чтобы сохранить их в другом месте или другим именем, задайте DataFullFile
при вызове solverprofiler.profileModel
.
сводные данные
Сводные данные профилирования результатовВысокоуровневые сводные данные результатов профильной операции, возвращенной как структура. Сводные данные предоставляют обзор производительности моделирования и здоровья модели.
Структура summary
содержит эти поля.
Поле | Цель | Значения | Описание |
---|---|---|---|
solver | Решатель используется моделированием | любой из решателей поддержан Профилировщиком Решателя | Решатель используется моделированием, как сконфигурировано в Параметрах конфигурации для модели. Для списка всех решателей смотрите Решатель. Профилировщик Решателя не делает моделей поддержки ни без каких непрерывных состояний. |
tStart | Время начала моделирования | скаляр | Время начала, в секундах, для моделирования модели во время профильной операции. |
tStop | Время остановки моделирования | скаляр | Время остановки, в секундах, моделирования во время профильной операции. Если StopTime собирается быть ранее, чем сконфигурированное Время остановки модели, остановок моделирования в StopTime . |
'AbsTol' | Абсолютный допуск решателя | положительный скаляр | Абсолютный допуск решателя, как задано в параметрах конфигурации для модели. Для получения дополнительной информации смотрите Абсолютный допуск |
'RelTol' | Относительный допуск решателя | положительный скаляр | Относительный допуск решателя, как задано в параметрах конфигурации модели. Для получения дополнительной информации смотрите Относительный допуск |
hMax | Максимальный размер шага | положительный скаляр | Самый большой временной шаг, который может взять решатель. Смотрите, что Max продвигается размер. |
hAverage | Средний размер шага | положительный скаляр | Средний размер временного шага взят решателем. |
steps | Сделаны общие шаги | положительный скаляр | Общее количество временных шагов взято решателем. |
profileTime | Время, чтобы профилировать | положительный скаляр | Время, в секундах, потраченных Профилировщиком Решателя, чтобы исследовать модель. |
zcNumber | Общее количество нулевых пересечений | неотрицательный скаляр | Нулевые пересечения числа раз происходят во время моделирования модели. Обнаружение этих нулевых пересечений несет вычислительные расходы и может замедлить моделирование. Для получения информации об обнаружении пересечения нулем смотрите Обнаружение Пересечения нулем. |
resetNumber | Количество сброса решателя | неотрицательный скаляр | Число раз решатель должно сбросить свои параметры. |
jacobianNumber | Количество якобиевских обновлений | неотрицательный скаляр | Число раз матрица якобиана решателя обновляется во время моделирования. Для получения дополнительной информации смотрите Явный По сравнению с Неявными Непрерывными Решателями. |
exceptionNumber | Количество исключений решателя | неотрицательный скаляр | С общим количеством исключений решателя сталкиваются во время моделирования. Этими исключениями являются события, где решатель не может решить образцовые состояния с заданной точностью. В результате выполнения решателя настроили испытания, которые увеличивают вычислительную стоимость. |
Типы данных: struct
Исследуйте образцовую динамику Используя профилировщика решателя | Поймите профильные результаты
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.