variables

Задайте доменные или переменные компонента

Синтаксис

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.highHigh
priority = priority.lowLow
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_across_var1, как значение с модулем. value начальное значение. unit допустимая модульная строка, заданная в модульном реестре.

variables
    domain_across_var1 = {value,'unit'};
end

Можно указать диапазоны инициализации для доменных переменных Across, например, чтобы исключить отрицательные величины при давлении или температуре. Синтаксис эквивалентен для переменных компонента:

variables
    domain_across_var1 = {value={value,'unit'},imin={value,'unit'},imax={value,'unit'}};
end

В доменном файле следующий синтаксис задает переменную Through, domain_through_var1, как значение с модулем. 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
Представленный в R2008b