Инициализация переменной блочного уровня позволяет вам задать приоритет и цель для отдельных основных переменных. Можно также инициализировать переменные для целой модели от сохраненных данных о рабочей точке.
Можно использовать объекты OperatingPoint
сохранить наборы данных, необходимых, чтобы инициализировать модель, управлять этими данными, и затем использовать его, чтобы инициализировать другую модель или ту же модель перед другой запущенной симуляцией. Эти наборы данных содержат иерархию переменных целей инициализации. Каждая цель состоит из значения переменных, модуля и приоритета инициализации, как описано в Переменном Приоритете Инициализации.
Иерархия данных OperatingPoint
является деревом с узлами, соответствующими подсистемам и блокам в модели. На самом низком уровне дерева данных, в узлах блока, переменные цели инициализации для того блока.
Когда вы используете OperatingPoint
, чтобы инициализировать модель, решатель совпадает с иерархией данных OperatingPoint
к иерархии модели и применяет цели инициализации от рабочей точки до соответствующих образцовых переменных. Если нет никакой переменной, совпадающей с целью рабочей точки, эта цель проигнорирована. После применения всех данных из рабочей точки решатель выполняет образцовую инициализацию, как описано в Вычислении Начальных условий.
После того, как вы инициализируете переменные и до симуляции модели, можно открыть Переменное Средство просмотра, чтобы видеть, какая из переменных целей была удовлетворена. Для получения дополнительной информации смотрите Переменное Средство просмотра.
Создайте объект OperatingPoint
путем извлечения данных из модели или из журнала симуляции. Для получения дополнительной информации смотрите Данные об Инициализации Переменной Извлечения в Рабочую точку.
Измените данные о рабочей точке, в случае необходимости, путем изменения, добавив или удалив цели и узлы. Для получения дополнительной информации смотрите Данные о Рабочей точке Управления.
Когда удовлетворенный данными о рабочей точке, примените его, чтобы инициализировать другую модель или ту же модель для другой запущенной симуляции. Для получения дополнительной информации смотрите Применение Данных о Рабочей точке, чтобы Инициализировать Модель.
Можно создать объект OperatingPoint
путем извлечения данных из существующей модели или из регистрируемых данных моделирования. Для получения дополнительной информации смотрите simscape.op.create
.
Можно извлечь переменные цели инициализации из модели этими способами:
Запустите значения — Инициализируют модель и используют переменные цели, соответствующие значениям Start
в Переменном Средстве просмотра.
Предварительно запустите значения — Обновление модель и используйте переменные цели, соответствующие значениям Prestart
в Переменном Средстве просмотра.
Кэшированные данные — Извлечение кэшировало значения переменных целей из модели, которая была ранее инициализирована или моделирована. Можно задать значения Prestart
или Start
. Этот метод позволяет вам сэкономить время путем предотвращения повторенной инициализации модели, если данные, которые вы хотите извлечь, не изменились.
Также можно моделировать модель при журналировании данных моделирования, и затем извлечь переменные цели от журнала симуляции в требуемое время, t
:
Если набор времен, зарегистрированных в журнале данных моделирования, содержит точное совпадение в течение времени t
, то функция simscape.op.create
извлекает эти переменные целевые значения в данные о рабочей точке.
Если нет никакого точного совпадения, но t
между минимальными и максимальными временами в журнале данных моделирования, то функция использует линейную интерполяцию, чтобы определить целевые значения.
Если t
является меньше, чем минимальное время, то функция извлекает первое значение для каждой переменной в журнале данных моделирования.
Если t
больше, чем максимальное время, то функция извлекает последнее значение для каждой переменной в журнале данных моделирования.
Когда вы извлекаете данные из модели в рабочую точку, элементы в иерархии данных объекта OperatingPoint
совпадают со структурой модели. Дерево данных о рабочей точке имеет узлы, соответствующие подсистемам и блокам в модели с переменными целями инициализации для каждого блока на самом низком уровне иерархии дерева данных. Точно так же, когда вы извлекаете рабочую точку от регистрируемых данных моделирования, дерево данных о рабочей точке совпадает с деревом данных журнала симуляции. Для примера смотрите, Находят, что Относительный путь Блокирует Узел в Дереве Данных о Рабочей точке.
Можно создать пустой объект OperatingPoint
или заполнить его с данными, извлеченными из существующей модели или от регистрируемых данных моделирования.
Если вы создаете объект OperatingPoint
, можно изменить его этими способами:
Добавьте цели один за другим. Для примера смотрите, Добавляет Элемент к Рабочей точке.
Скопируйте и вставьте элементы. Для примера смотрите Элемент Копии от Рабочей точки. Можно затем вставить скопированный элемент в другую рабочую точку с помощью функции set
.
Удалите элементы. Для примера смотрите, Удаляют Элемент из Данных о Рабочей точке.
Переименуйте или переместите элементы. Для примера смотрите, Переименовывают Элемент, чтобы Совпадать с Новым Именем блока.
Объедините рабочие точки. Для примера смотрите Слияние Две Рабочих точки.
Инициализировать модель от рабочей точки:
Откройте диалоговое окно Configuration Parameters.
На панели 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