Задайте доменные или переменные компонента
variables var1 = {value ,'unit'}; end
variables
начинает блок объявлений переменных, который отключен end
ключевое слово:
В файле компонента этот блок содержит объявления для всех переменных, сопоставленных с компонентом.
В доменном файле этот блок содержит объявления для всех переменных Across, сопоставленных с областью. Кроме того, доменные файлы должны иметь блок объявлений отдельных переменных с Balancing
припишите набор true
, который содержит объявления для всех переменных Through, сопоставленных с областью.
В файле компонента следующий синтаксис задает Через, Через, или внутренняя переменная, comp_var1
, как значение с модулем. value
начальное значение. unit
допустимая модульная строка, заданная в модульном реестре.
variables comp_var1 = {value,'unit'}; end
Для переменных компонента можно дополнительно задать приоритет инициализации, приемлемую область значений инициализации, и номинальную стоимость и модуль путем объявления переменной как полевого массива.
variables comp_var2 = {value = {value,'unit'}, priority = priority.value, imin={value,'unit'},imax={value,'unit'}, nominal = {value,'unit'}}; end
Первым полем в массиве является value
(значение с модулем). Другие поля являются дополнительными и могут существовать любого порядка.
priority
поле может быть одним из трех значений, перечисленных в следующей таблице:
Поле Priority на языке Simscape™ | Получившийся приоритет по умолчанию в диалоговом окне блока |
---|---|
priority = priority.high | High |
priority = priority.low | Low |
priority = priority.none Это значение по умолчанию, | None |
Примечание
Рекомендуется, чтобы вы использовали priority
припишите экономно. Приоритетное значение по умолчанию, priority.none
(который эквивалентен игнорированию priority
припишите полностью), подходит в большинстве случаев. Пользователь блока может изменить переменное приоритетное значение, по мере необходимости, во вкладке Variables диалогового окна блока до симуляции.
imin
и imax
поля позволяют вам задать минимальные и максимальные приемлемые значения для переменной инициализации, например:
variables x = {value={0,'deg'},imin={0,'deg'},imax={360,'deg'}}; end
Когда несколько решений для инициализации существуют, этот синтаксис позволяет вам вести решатель к предпочтительному решению. Для получения дополнительной информации смотрите Инициализацию Переменной Блочного уровня. Если заданной области нельзя удовлетворить во время инициализации, решатель выдает ошибку. Решатель пытается удовлетворить области значений инициализации для переменной независимо от того, высок ли ее приоритет инициализации, низко, или ни один.
Областью значений инициализации по умолчанию является (-inf,inf)
. Поэтому вы не должны задавать оба значения, чтобы задать область значений, достаточно задать только imin
или imax
. Например, используйте этот синтаксис, чтобы ограничить температуру положительными значениями:
variables T = {value={293.15,'K'},imin={0,'K'}}; end
Когда вы задаете imin
или imax
, эти значения задают открытую область значений.
Примечание
Пользователь блока не управляет переменной областью значений инициализации. Только автор блока может задать приемлемые минимальные и максимальные значения для переменной инициализации в файле компонента, и для непрерывного и для переменных события.
nominal
поле должно быть значением с модулем, где value
номинальная стоимость, то есть, ожидаемая величина переменной. unit
допустимая модульная строка, заданная в модульном реестре.
Примечание
Рекомендуется, чтобы вы использовали nominal
припишите экономно. Номинальная стоимость по умолчанию, которая поступает из таблицы модуля значения модели, подходит в большинстве случаев. Пользователь блока может также изменить номинальную стоимость и модули для отдельных блоков или при помощи Property Inspector или при помощи set_param
и get_param
функции, в случае необходимости. Для получения дополнительной информации смотрите, Изменяют Номинальную стоимость для Основной переменной.
Можно также задать имя переменной, способ, которым вы хотите, чтобы оно появилось во вкладке Variables диалогового окна блока как комментарий:
variables comp_var1 = {value,'unit'}; % Variable name end
В доменном файле следующий синтаксис задает переменную Across, domain_across1
, как значение с модулем. value
начальное значение. unit
допустимая модульная строка, заданная в модульном реестре.
variables domain_across_var1 = {value,'unit'}; end
Можно указать диапазоны инициализации для доменных переменных Across, например, чтобы исключить отрицательные величины при давлении или температуре. Синтаксис эквивалентен для переменных компонента:
variables domain_across_var1 = {{value,'unit'},imin={value,'unit'},imax={value,'unit'}}; end
В доменном файле следующий синтаксис задает переменную Through, domain_through1
, как значение с модулем. value
начальное значение. unit
допустимая модульная строка, заданная в модульном реестре.
variables(Balancing = true) domain_through_var1 = {value,'unit'}; end
Этот пример инициализирует переменную w
(скорость вращения) как 0 рад/с:
variables w = {0,'rad/s'}; % Angular velocity end
Этот пример инициализирует переменную x
(пружинная деформация) как 0 мм, с высоким приоритетом:
variables x = {value = {0,'mm'},priority = priority.high}; % Spring deformation end
Этот пример инициализирует доменную переменную Through t
(крутящий момент) как 1 N*m:
variables(Balancing = true) t = {1,'N*m'}; end