variables

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

Синтаксис

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

Примечание

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

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

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