初始化模式如何控制Simulink万博1manbetx®处理有条件执行的子系统的初始化值。
经典
mode是在R2013b或之前创建的Simulink模型的默认初始化模式。万博1manbetx您可以继续使用经典模式,如果:
该模型不包括受简化模式影响的任何建模元素。
简化模式的行为和要求不符合您的建模目标。
转换为简化模式的工作大于简化模式的好处。看从经典的转换为简化的初始化模式.
要设置经典初始化模式:
打开配置参数对话框。
在搜索框中输入缺点初始化检测.
从下拉列表中,选择经典
.
使用经典初始化模式可能会导致下列一个或多个问题。您可以通过使用简化模式来解决这些问题。每个问题的描述包括经典模式下的行为示例、使用简化模式时的行为,以及使用简化模式时必须进行的更改的摘要。
包括相同子系统的条件子系统可以在第一次执行之前显示不同的初始值,如果以下两个都适用:
该模型使用经典初始化模式。
一个或多个相同的子系统输出到身份转换块。
使用经典初始化模式的条件子系统,其输出连接到离散时间Integretator块或S函数块可以产生不一致的输出。
当连接到Merge块时,使用经典模式初始化的条件子系统的排序顺序可能会影响Merge块的输出。块执行顺序的改变可能会产生意想不到的结果。
当你重命名合并块源子系统块,合并块的初始输出可以改变。
当两个或更多子系统将不同的初始输出值馈送到未指定其自己的初始输出值的合并块时,重命名其中一个子系统可以影响经典初始化模式中合并块的初始输出。
有关将模型从经典模式转换为简化模式所涉及的任务的其他信息,请参见从经典的转换为简化的初始化模式.
包括相同子系统的条件子系统可以在第一次执行之前显示不同的初始值,如果以下两个都适用:
该模型使用经典初始化模式。
一个或多个相同的子系统输出到身份转换块。
身份转换块是不改变其输入信号值的块。识别变换块的示例是信号转换块或具有值的增益块1
.
在里面ex_identity_transform_cl
模型,子系统A和子系统B是相同的,但是B输出到一个增益块,这个增益块又输出到一个外港块。
在模拟模型时,初始值为一个
(Scope块中的顶部信号)是2
,但初始价值B
是0
,即使子系统是相同的。
如果更新模型以使用简化的初始化模式(请参阅ex_identity_transform_simpl
),模型看起来是一样的。转换所需的步骤ex_identity_transform_cl
来ex_identity_transform_simpl
是:
集缺点初始化检测来简化
.
为外港子系统A和B中的块,设置初始输出值的来源参数输入信号
.
您也可以通过设置来获得相同的行为初始输出值的来源参数对话框
和初始输出参数3.
.
当您模拟更新后的模型时,标识转换的连接不会更改结果。在这两种情况下,输出是一致的。
使用经典初始化模式的条件子系统,其输出连接到离散时间Integretator块或S函数块可以产生不一致的输出。
在里面EX_DISCRETE_TIME_TIME_CL.
模型,启用的子系统包括两个常量块和输出到离散时间积分器块。启用的子系统输出到两个Display块。
当您模拟模型时,两个显示块显示不同的值。
连接到离散时间Integretator块的常数1块,即使禁用条件子系统,也会执行。顶部显示块显示2的值,这是常数1块的值。常量2块不执行,因此底部显示块显示值0。
如果更新模型以使用简化的初始化模式(请参阅ex_discrete_time_simpl
),模型看起来是一样的。更新后的模型通过使用简化模式纠正了输出不一致的问题。转换所需的步骤EX_DISCRETE_TIME_TIME_CL.
来ex_discrete_time_simpl
是:
集缺点初始化检测来简化
.
为外港阻塞Out1和Out2,设置初始输出值的来源参数输入信号
.这个设置显式地继承了初始值,在本例中是2。
您也可以通过设置来获得相同的行为初始输出值的来源参数对话框
和初始输出参数2
.
当您模拟更新的模型时,显示块会显示相同的输出。输出值为2,因为两者都是外港块继承它们的初始值。
使用经典模式初始化的条件子系统的排序顺序,当连接到合并块,可以影响该输出合并块。块执行顺序的改变可能会产生意想不到的结果。行为取决于你如何设置禁用时输出参数。
的ex_basic_merge_sorted_order_1_cl
模型有两个相同的启用子系统(Enable A和Enable B),它们连接到Merge块。当您模拟模型时,红色的数字显示块的排序执行顺序。
当你模拟模型时,范围块如下所示:
的ex_basic_merge_sorted_order_2_cl
模型与ex_merge_sorted_1_CL.
,只是块的执行顺序与默认的执行顺序相反。更改执行顺序:
打开启用A子系统的属性对话框,并设置优先事项参数2
.
设置优先事项启用B子系统1
.
当您使用不同的执行顺序来模拟模型时,Scope块看起来如下所示:
排序顺序的变化从相同的条件子系统产生不同的结果。
要更新模型以使用简化的初始化模式(请参阅ex_basic_merge_sorted_order_1_simpl.
和ex_basic_merge_sorted_order_2_simpl
):
集缺点初始化检测来简化
.
的初始输出合并块的参数是空矩阵,[]
默认情况下,。因此,初始输出值被设置为该数据类型的默认初始值,即0。有关默认初始值的信息,请参见初始化信号值.当您模拟每个简化模式模型时,两个模型都会产生相同的结果。
的ex_merge_sorted_1_CL.
模型具有两个启用的子系统(启用A和ENABLE B),该子系统连接到合并块。当您模拟模型时,红色的数字显示块的排序执行顺序。
当你模拟模型时,Scope块看起来如下所示:
的EX_MERGE_SORTED_2_CL.
模型与ex_merge_sorted_1_CL.
,只是块的执行顺序与默认的执行顺序相反。更改执行顺序:
打开启用A子系统的属性对话框,并设置优先事项参数2
.
设置优先事项启用B子系统1
.
使用不同的执行顺序模拟模型时,范围块看起来像:
排序顺序的变化从相同的条件子系统产生不同的结果。
要更新模型以使用简化的初始化模式(请参阅ex_merge_sorted_1_simpl
和ex_merge_sorted_2_simpl.
):
集缺点初始化检测来简化
.
为外港在使能A和使能B中,设置禁用时输出参数握住
.不支持简化模式万博1manbetx重启
对于驾驶合并块的条件子系统的输出端口。
当您模拟每个简化模式模型时,两个模型都会产生相同的结果。