переменные

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

Синтаксис

variables comp_var1 = {value ,'unit'}; end     
variables comp_var2 = {value = {value,'unit'}, priority = priority.value, nominal = {value,'unit'} }; end
variables domain_across_var1 = {value,'unit'}; end
variables(Balancing = true) domain_through_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, nominal = { value , 'unit' } };
end

Первым полем в массиве является value (значение с модулем). Другие два поля являются дополнительными и могут существовать любого порядка.

Поле priority может быть одним из трех значений, перечисленных в следующей таблице:

Поле Priority на языке Simscape™Получившийся приоритет по умолчанию в диалоговом окне блока
priority = priority.highHigh
priority = priority.lowLow
priority = priority.none (это - значение по умолчанию),None

Примечание

MathWorks рекомендует, чтобы вы использовали атрибут priority экономно. Приоритетное значение по умолчанию, priority.none (который эквивалентен игнорированию атрибута priority полностью), подходит в большинстве случаев. Пользователь блока может изменить переменное приоритетное значение, по мере необходимости, во вкладке Variables диалогового окна блока до симуляции.

Поле nominal должно быть значением с модулем, где value является номинальной стоимостью, то есть, ожидаемым значением переменной. unit является допустимой модульной строкой, заданной в модульном реестре.

Примечание

MathWorks рекомендует, чтобы вы использовали атрибут 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

В доменном файле следующий синтаксис задает переменную 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

Представленный в R2008b