Инициализация переменной уровня блока позволяет вам задать приоритет и цель для отдельных основных переменных. Можно также инициализировать переменные для целой модели из сохраненных данных рабочей точки.
Можно использовать OperatingPoint
объекты, чтобы сохранить наборы данных, необходимые для инициализации модели, манипулировать этими данными, а затем использовать их, чтобы инициализировать другую модель или ту же модель перед другим запуском симуляции. Эти наборы данных содержат иерархию переменных объектов инициализации. Каждый целевой объект состоит из значения переменных, модуля и приоритета инициализации, как описано в разделе «Приоритет инициализации переменной».
The OperatingPoint
иерархия данных является деревом с узлами, соответствующими подсистемам и блокам в модели. На самом низком уровне дерева данных, внутри узлов блоков, находятся переменные целевые объекты инициализации для этого блока.
Когда вы используете OperatingPoint
чтобы инициализировать модель, решатель соответствует OperatingPoint
иерархия данных к иерархии модели и применяет целевые объекты инициализации от рабочей точки к соответствующим переменным модели. Если переменная не соответствует цели рабочей точки, эта цель игнорируется. После применения всех данных из рабочей точки решатель выполняет инициализацию модели, как описано в Initial Conditions Computation.
После того, как вы инициализируете переменные и перед симуляцией модели, можно открыть Средство Просмотра, чтобы увидеть, какая из переменных целей была удовлетворена. Для получения дополнительной информации см. раздел «Средство просмотра переменных».
Создайте OperatingPoint
объект путем извлечения данных из модели или из журнала симуляции. Для получения дополнительной информации смотрите Извлечение данных инициализации переменной в рабочую точку.
При необходимости измените данные рабочей точки путем изменения, добавления или удаления целевых элементов и узлов. Для получения дополнительной информации см. Раздел «Управление данными рабочей точки».
Удовлетворяясь данными рабочей точки, примените его, чтобы инициализировать другую модель или ту же модель для другого запуска симуляции. Для получения дополнительной информации смотрите Применение данных рабочей точки для инициализации модели.
Можно создать OperatingPoint
объект путем извлечения данных из существующей модели или из логгированных данных моделирования. Для получения дополнительной информации см. simscape.op.create
.
Можно извлечь целевые объекты инициализации переменных из модели следующими способами:
Начальные значения - Инициализируйте модель и используйте переменные цели, соответствующие Start
значения в средстве просмотра переменных».
Значения Prestart - Обновляйте модель и используйте переменные цели, соответствующие Prestart
значения в средстве просмотра переменных».
Кэшированные данные - извлечение кэшированных значений переменных целей из модели, которая была ранее инициализирована или моделирована. Можно задать Start
или Prestart
значения. Этот метод позволяет вам сэкономить время, избегая повторной инициализации модели, если данные, которые вы хотите извлечь, не изменились.
Кроме того, можно симулировать модель во время регистрации данных моделирования, а затем извлечь переменные цели из журнала симуляции в заданное время, t
:
Если набор времени, записанный в журнал данных моделирования, содержит точное соответствие для времени t
, затем simscape.op.create
функция извлекает эти переменные целевые значения в данные рабочей точки.
Если нет точного соответствия, но t
находится между минимальным и максимальным временами в журнале данных моделирования, затем функция использует линейную интерполяцию, чтобы определить целевые значения.
Если t
меньше минимального времени, тогда функция извлекает первое значение для каждой переменной в журнале данных моделирования.
Если t
больше максимального времени, тогда функция извлекает последнее значение для каждой переменной в журнале данных моделирования.
При извлечении данных из модели в рабочую точку элементы иерархии данных OperatingPoint
объект соответствует структуре модели. Дерево данных рабочей точки имеет узлы, соответствующие подсистемам и блокам в модели, с целями инициализации переменных для каждого блока на самом низком уровне иерархии дерева данных. Точно так же, когда вы извлекаете рабочую точку из записанных данных моделирования, дерево данных рабочей точки совпадает с деревом данных журнала симуляции. Для получения примера смотрите Найти относительный путь к Узлу блоков в дереве данных рабочей точки.
Можно создать пустой OperatingPoint
объект, или заполните его данными, извлеченными из существующей модели или из записанных данных моделирования.
Как только вы создаете OperatingPoint
объект можно изменить следующими способами:
Добавьте цели один на один. Для получения примера смотрите Добавить элемент к рабочей точке.
Скопируйте и вставьте элементы. Для получения примера см. раздел «Копирование элемента из рабочей точки». Затем можно вставить скопированный элемент в другую рабочую точку с помощью set
функция.
Удалите элементы. Для получения примера смотрите Удалить элемент из данных рабочей точки.
Переименуйте или переместите элементы. Для получения примера см. раздел «Переименование элемента в новое имя Блока».
Объедините рабочие точки. Для получения примера смотрите Объединить две рабочие точки.
Чтобы инициализировать модель из рабочей точки:
Откройте диалоговое окно Параметры конфигурации.
На панели Simscape установите флажок Enable operating point initialization.
В текстовом поле Model operating point введите имя переменной рабочей области, связанной с OperatingPoint
объект.
Можно также использовать эквивалентный интерфейс командной строки, чтобы задать параметры конфигурации модели:
set_param (
'model_name
',' SimscapeUseOperatingPoints ',' on ');
set_param (
'model_name
',' SimscapeOperatingPoint ',' op_name
');
где model_name
- имя модели и op_name
- имя OperatingPoint
объект.
simscape.op.OperatingPoint
| simscape.op.Target