块级变量的初始化

初始化块的变量进行模型仿真

在模拟开始(Ť= 0),解算器计算的初始条件,以确定模拟的起点,如描述初始条件计算。解决的方法是指对所有的系统变量找到初始值。您可以通过以下方式影响初始条件计算块级变量初始化,即,通过用于对某些变量指定的优先级和目标的初始值变量的各块的对话框标签。

你块级变量初始化期间指定的值不是各变量的实际值,但在模拟的开始(而它们的目标值Ť= 0)。根据的解决结果,其中一些目标可能会或可能不会满意。

求解程序试图找到一个解决方案:

  • 恰好满足所有的模型方程

  • 恰好满足所有高优先级目标

  • 作为接近于低优先级的目标尽可能(其结果是,一些低优先级的目标可能会严格满足,其他人都近似)

如果求解器无法找到一个解决方案,正好满足所有高优先级目标,它会发出警告,并进入解决程序,它试图通过接近高优先级和低优先级既要找到一个解决方案的第二阶段目标尽可能地。

如果您选择了从稳定状态开始模拟复选框中求解阻止对话框,解算器试图找到稳定状态(当系统变量不再随时间变化)。如果稳态解决,则状态发现的是一些稳定状态(公差范围内),但不一定是从给定的初始条件预期的状态。换句话说,如果从稳态仿真开始,即使是高优先级的变量指标可能不再在模拟开始满足。但是,如果模型具有一个以上的稳定状态,您所指定的目标变量可以影响其稳态解是由求解器选择。

当您初始化块变量和仿真模型之前,你可以打开浏览器的变量,看看哪些变量指标已经满足。变量的实际的初始值作为的结果而获得的变量查看器显示解决,与可变的目标值,优先级和其它有关的变量信息。有关详细信息,请参阅变量查看器

变量初始化优先

在块级变量初始化,您所指定的变量值开始,单位和初始化的优先级。优先级可以是下列情况之一:

  • 无 - 如果变量没有优先权,初始化算法开始在此变量的起始值但它找到方程组解不记得这个值。求解器不尝试,以满足无优先级的变量的任何具体的初始值。

  • 低 - 如果一个变量具有低优先级,开始值将成为算法和算法试图贴近目标的目标。求解器试图找到一个解决方案时,如接近于这个变量的目标值越好。根据的解决高优先级变量的结果,一些低优先级的目标可能会遇到正好,其他人都近似。

  • 高度 - 如果一个变量具有高优先级,初值将成为算法和算法试图满足目标准确的目标。求解程序试图找到一个解决方案,所有高优先级变量的实际初始值,精确满足它们的目标值。

默认初始化的优先级,开始值,单位为每块变量来自底层的Simscape™组件文件。为模型中的每个单独的块,你可以通过打开覆盖这些默认设置变量块对话框的标签,选择该覆盖复选框旁边的一个变量名,该变量指定自己的值。

当您的系统变量指定太多的高优先级的目标,有可能超额指定模型。在这种情况下,解算器可能不能够找到一个解决方案,正好满足所有高优先级目标,甚至无法完全找到解决的办法。对于如何通过使用变量浏览器和改变变量的优先级和目标处理过规范的例子,看看对于大众弹簧阻尼系统初始化变量

有关如何指定变量的优先级和目标块对话框的详细信息,请参阅设置优先级和初始目标为块的变量

建议工作流程

  1. 使用变量的各块的对话框选项卡,指定目标变量初始化,通过所要求的模型设置优先级,目标值和单位块变量。

  2. 打开并刷新变量浏览器,看看哪些初始目标已经满足。虽然观众没有模拟模型,它运行仿真0秒到初始化,因此模型必须是可执行状态。

  3. 如果初始化失败,或者你没有被改变的块变量的目标值和优先级,然后刷新观众满意的结果,迭代。

  4. 当初始化满意,运行仿真查看结果。

相关话题