此示例演示如何以编程方式配置引用模型的多个实例,以对同一块参数使用不同的值。
当您模拟一个模型时,模型工作区中的参数对象使用您为万博1manbetx仿真软件。参数
对象,万博1manbetx仿真软件。LookupTable
对象,或MATLAB®变量。块参数也使用这些值。
配置获得参数的增益块和分子参数作为模型参数,请遵循以下步骤。
开放模式ex_model_arg_ref
.该模型代表了一种可重用的算法。
open_system (“ex_model_arg_ref”)
对于增益块,设置获得参数一万博1manbetx仿真软件。参数
对象在模型工作区中使用数值。对于本例,命名为万博1manbetx仿真软件。参数
对象gainArg
并赋值为3.17
.
set_param (“ex_model_arg_ref /增益”,“获得”,“gainArg”) modelWorkspace = get_param(“ex_model_arg_ref”,“ModelWorkspace”);assignin (modelWorkspace“gainArg”,万博1manbetx Simulink.Parameter (3.17));
对于离散过滤块,设置分子参数一万博1manbetx仿真软件。参数
对象在模型工作区中使用数值。对于本例,命名为万博1manbetx仿真软件。参数
对象coeffArg
并赋值为1.05
.
set_param (“ex_model_arg_ref /离散滤波器”,“分子”,“coeffArg”) assignin (modelWorkspace“coeffArg”,万博1manbetx 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
,为模型参数设置值。如果您决定重新推广这些参数,请设置论点
字段真正的
.默认情况下,论点
字段是假
.
instSpecParams = get_param (“ex_model_arg /模式”,“InstanceParameters”);instSpecParams1 = get_param (“ex_model_arg / Model1”,“InstanceParameters”);instSpecParams(1)。值=“.98点”;instSpecParams(2)。值=“2.98”;instSpecParams1(1)。值=“1.11”;instSpecParams1(2)。值=“3.34”;instSpecParams(1)。参数= true;instSpecParams(2)。参数= true;instSpecParams1(1)。参数= true;instSpecParams1(2)。参数= true;set_param (“ex_model_arg /模式”,“InstanceParameters”, instSpecParams);set_param (“ex_model_arg / Model1”,“InstanceParameters”, instSpecParams1);