主要内容

经典的初始化模式

何时使用经典的初始化

初始化模式控制仿真软件金宝app®有条件地执行子系统处理初始化值。

经典模式是默认的初始化模式仿真软件模型中创建R2013b或之前。金宝app你可以继续使用经典模式:

  • 影响模型不包括任何建模元素的简化模式。

  • 简化的模式不符合的行为和需求建模的目标。

  • 所涉及的工作转换到简化模式的好处大于简化模式。看到从经典转换为简化初始化模式

设置初始化模式的经典

初始化设置经典模式:

  1. 打开配置参数对话框。在建模选项卡和设置部分中,选择模型设置

  2. 在搜索框中,输入未指定初始化检测

  3. 从下拉列表中,选择经典

经典的初始化问题和局限性

使用经典的初始化模式会导致一个或多个下列问题。你可以通过使用简化的方式解决这些问题。每一期的描述包括经典的行为模式的一个例子,当你使用简化的行为模式,总结你必须使用简化的变化模式。

  • 恒等变换可以改变模型的行为

    条件子系统,包括相同的子系统可以显示不同的初始值在第一次执行如果以下应用:

    • 经典模型使用初始化模式。

    • 一个或多个子系统输出相同的身份转换。

  • 不一致的输出与离散时间积分器或功能块

    使用经典的条件子系统初始化模式和它的输出连接到一个离散时间积分器块或功能块可以产生不一致的输出。

  • 执行顺序影响合并块输出

    条件子系统的执行顺序,使用经典模式初始化,当连接到一个块合并,可以影响到合并的输出块。块执行顺序的改变可以产生意想不到的结果。

  • 当你重命名合并块源子系统模块,初始合并的输出块可以改变。

    当两个或多个子系统喂养不同初始输出值合并块没有指定自己的初始输出值,重命名的一个子系统可以影响的初始输出合并块经典的初始化模式。

  • 金宝app模型没有提供正确的一致性检查

    金宝app模型没有提供正确的一致性检查设置两个外港块连接通过一个模型参考边界。

关于任务的附加信息转换模型从经典的简化模式,明白了从经典转换为简化初始化模式

恒等变换可以改变模型的行为

条件子系统,包括相同的子系统可以显示不同的初始值在第一次执行如果以下应用:

  • 经典模型使用初始化模式。

  • 一个或多个子系统输出相同的身份转换。

一个恒等变换块是一块,不改变输入信号的值。确定变换块的例子有一个信号转换块或一块获得的价值1

ex_identity_transform_cl子系统模型,A和B是相同的,但B输出增益,进而输出到一个外港块。

当你模拟模型,初始值一个(顶部信号范围内块)2,但的初始值B0子系统,即使是相同的。

如果您更新模型使用简化初始化模式(见ex_identity_transform_simpl),模型看起来一样。转换所需的步骤ex_identity_transform_clex_identity_transform_simpl是:

  1. 未指定初始化检测简化

  2. 外港块在A和B的子系统,设置初始输出值的来源参数输入信号

    你也可以通过设置相同的行为初始输出值的来源参数对话框初始输出参数3

更新模型模拟时,连接的恒等变换不改变结果。输出在这两种情况下是一致的。

不一致的输出与离散时间积分器或功能块

使用经典的条件子系统初始化模式和它的输出连接到一个离散时间积分器块或功能块可以产生不一致的输出。

ex_discrete_time_cl模型,使子系统包括两个常数模块和输出一个离散时间积分器块。使子系统输出两个显示模块。

当你模拟模型中,两个显示模块显示不同的值。

Constant1块,这是连接到离散时间积分器,执行,即使条件子系统是禁用的。最上面显示块显示的值2,Constant1块的价值。Constant2块不会执行,所以底部显示块显示的值为0。

如果您更新模型使用简化初始化模式(见ex_discrete_time_simpl),模型看起来一样。更新后的模型修正输出不一致问题通过使用简化的模式。转换所需的步骤ex_discrete_time_clex_discrete_time_simpl是:

  1. 未指定初始化检测简化

  2. 外港块着干活,Out2设置初始输出值的来源参数输入信号。这个设置显式地继承了初始值,在本例中是2。

    你也可以通过设置相同的行为初始输出值的来源参数对话框初始输出参数2

当你更新后的模型,模拟显示模块显示相同的输出。因为两个输出值是2外港块继承他们的初始值。

执行顺序影响合并块输出

条件子系统的执行顺序,使用经典模式初始化,当连接到一个合并块,可以影响的输出合并块。块执行顺序的改变可以产生意想不到的结果。取决于你如何设置的行为输出时禁用参数。

ex_basic_merge_sorted_order_1_cl模型启用了两个相同的子系统(启用,启用B)连接到合并块。模拟模型时,红色数字显示块的执行顺序排序。

当你模拟模型范围块的样子如下:

ex_basic_merge_sorted_order_2_cl模型是一样的ex_merge_sorted_1_cl,除了块的执行顺序是相反的默认执行顺序。改变执行顺序:

  1. 打开属性对话框支持子系统和设置优先级参数2

  2. 设置优先级使B子系统1

当你使用不同的执行顺序,模拟模型范围块看起来如下:

执行顺序的变化产生不同的结果从相同的条件子系统。

更新模型使用简化初始化模式(见ex_basic_merge_sorted_order_1_simplex_basic_merge_sorted_order_2_simpl):

  1. 未指定初始化检测简化

初始输出合并块的参数是一个空矩阵,[]默认情况下,。因此,最初的输出值设置为默认初始值的数据类型,这是0。默认的初始值的信息,请参阅初始化信号值。当你模拟每一简化模型模式,两种模式产生相同的结果。

使用输出当禁用参数设置重置

ex_merge_sorted_1_cl模型有两个子系统启用(启用,启用B)连接到合并。模拟模型时,红色数字显示块的执行顺序排序。

当你模拟模型,块看起来像以下范围:

ex_merge_sorted_2_cl模型是一样的ex_merge_sorted_1_cl,除了块的执行顺序是相反的默认执行顺序。改变执行顺序:

  1. 打开属性对话框支持子系统和设置优先级参数2

  2. 设置优先级使B子系统1

当你使用不同的执行顺序,模拟模型范围块看起来像:

执行顺序的变化产生不同的结果从相同的条件子系统。

更新模型使用简化初始化模式(见ex_merge_sorted_1_simplex_merge_sorted_2_simpl):

  1. 未指定初始化检测简化

  2. 外港块在启用,使B,设置输出时禁用参数举行。简化模式不支持金宝app重置输出端口的条件子系统驱动块合并。

当你模拟每一简化模型模式,两种模式产生相同的结果。

可调参数

许多块参数可调。一个可调参数是一个参数的值可以改变不重新编译模型(看到了吗模型编译有关编译一个模型的更多信息)。例如,获得的增益参数块可调。你可以改变块的模拟运行时获得。如果没有可调参数和仿真运行时,设置参数的对话框控件是禁用的。

当你改变了一个可调参数的值,更改生效的下一个时间步。

状态

通常一些系统的当前值,因此模型,输出函数的值的变量。这种变量称为状态。计算模型的输出从一个框图因此需要储蓄的价值状态在当前时间步用于随后的时间步计算输出。这个任务执行期间定义状态的模拟模型。

两种类型的状态可以发生在一个仿真软件模型:离散和连续状态。金宝app一个连续状态不断变化。连续状态的例子有一辆车的位置和速度。一个离散状态是一个近似的连续状态的状态更新(重新计算)使用有限(周期性或非周期性)间隔。离散状态的一个例子将是一辆车的位置显示在数字里程表,每一秒,而不是不断更新。在极限情况下,离散状态的时间间隔趋于零,一个离散状态就相当于一个连续状态。

块隐式定义一个模型的状态。特别是,一块需要部分或全部先前输出来计算当前输出隐式地定义了一组国家之间需要保存时间的步骤。据说这样的一块。

下面是图示的一块:

块定义连续状态仿真软件模块包括以下标准:金宝app

总模型的状态数的总和美国定义为所有的块。确定的州数图需要解析图来确定类型的块,它包含然后聚集的状态数定义为每个实例一块类型的定义。执行这个任务在编译阶段的模拟。

金宝app没有提供正确的一致性检验

金宝app模型没有提供正确的一致性检查设置两个外港块连接通过一个模型参考边界。

金宝app仿真软件会抛出一个错误的警告或没有警告当所有下列条件是正确的:

  • 的选项未指定初始化检测被设置为经典

  • 该模型包含一个模型块。

  • 在参考模型中,一个根外港块驱动直接或间接通过虚拟块),有条件地执行子系统。在这个场景中,外港块对应的输出是一个有条件地执行子系统外港块。

  • 在上面的模型中,输出的端口模型块是由源驱动的外港块,开着目的地外港有条件地执行子系统。

如果源和目标外港在相同的模型块,设置初始输出输出时禁用(如果适用)外港块不同,模型将抛出一个错误。金宝app然而,在上述情况下,当两个仿真软件抛出一个错误的警告金宝app外港块有相同的设置或抛出任何警告或错误时是不同的。