В этом примере показано, как программно сконфигурировать несколько экземпляров модели, на которую ссылаются, чтобы использовать различные значения для тех же параметров блоков.
Когда вы симулируете модель, объекты параметра в рабочем пространстве модели используют значения, которые вы задаете для Simulink.Parameter объекты, Simulink.LookupTable объекты или переменные MATLAB®. Параметры блоков также используют эти значения.
Чтобы сконфигурировать параметр Усиления блока Gain и параметр Числителя блока Discrete Filter в качестве аргументов модели, выполните эти шаги.
Открытая модель ex_model_arg_ref. Эта модель представляет допускающий повторное использование алгоритм.
open_system('ex_model_arg_ref')

Для блока Gain, установленного значение параметра Усиления к Simulink.Parameter объект в рабочем пространстве модели с числовым значением. В данном примере назовите Simulink.Parameter объект gainArg и присвойте значение 3.17.
set_param('ex_model_arg_ref/Gain','Gain','gainArg') modelWorkspace = get_param('ex_model_arg_ref','ModelWorkspace'); assignin(modelWorkspace,'gainArg',Simulink.Parameter(3.17));
Для блока Discrete Filter, установленного значение параметра Числителя к Simulink.Parameter объект в рабочем пространстве модели с числовым значением. В данном примере назовите Simulink.Parameter объект coeffArg и присвойте значение 1.05.
set_param('ex_model_arg_ref/Discrete Filter','Numerator','coeffArg') assignin(modelWorkspace,'coeffArg',Simulink.Parameter(1.05));
Задайте gainArg и coeffArg в качестве аргументов модели.
set_param('ex_model_arg_ref','ParameterArgumentNames','coeffArg,gainArg')
Когда вы симулируете родительскую модель, каждый экземпляр допускающей повторное использование модели, на которую ссылаются, использует значения аргументов, которые вы задаете в родительской модели. В этом примере, в верхнем экземпляре ex_model_arg_ref, объект параметра gainArg использует значение 2.98.
ex_model_arg модели содержит два блока Model тот ссылочный ex_model_arg_ref. Чтобы установить различные значения параметров для двух экземпляров модели, выполните эти шаги.
Открытая модель ex_model_arg. Эта модель представляет системную модель, которая использует несколько экземпляров допускающего повторное использование алгоритма.
open_system('ex_model_arg')

Для обоих экземпляров модели ex_model_arg, установите значения для аргументов модели. Если вы решаете повторно продвинуть эти аргументы, установите Argument поле к true. По умолчанию, Argument полем является false.
instSpecParams = get_param('ex_model_arg/Model','InstanceParameters'); instSpecParams1 = get_param('ex_model_arg/Model1','InstanceParameters'); instSpecParams(1).Value = '.98'; instSpecParams(2).Value = '2.98'; instSpecParams1(1).Value = '1.11'; instSpecParams1(2).Value = '3.34'; instSpecParams(1).Argument = true; instSpecParams(2).Argument = true; instSpecParams1(1).Argument = true; instSpecParams1(2).Argument = true; set_param('ex_model_arg/Model','InstanceParameters',instSpecParams); set_param('ex_model_arg/Model1','InstanceParameters',instSpecParams1);