关于工作点
什么是工作点?
动态系统的工作点定义模型在特定时间的状态和根级输入信号。例如,在汽车发动机模型中,描述工作点的变量通常包括发动机转速、节气门角度、发动机温度以及周围环境大气条件等。
以下 Simulink® 模型的工作点由两个变量组成:
设置为
1的根级输入信号设置为
5的 Integrator 模块状态

下表总结了该模型在此工作点处的信号值。
| 模块 | 模块输入 | 模块运算 | 模块输出 |
|---|---|---|---|
| Integrator | 1 | 对输入进行积分 | 5,由初始条件 x0 = 5 设置 |
| Square | 5,由 Integrator 模块的初始条件设置 | 对输入进行平方 | 25 |
| Sum | 25(来自 Square 模块),1(来自 Constant 模块) | 对输入进行求和 | 26 |
| Gain | 26 | 将输入乘以 3 | 78 |
下方的模块图展示了在仿真期间模型输入和 Integrator 模块的初始状态是如何在整个模型中传播的。

如果您的模型初始状态和输入已经代表了期望的稳态工况,您可以使用此工作点进行线性化或控制设计。
什么是稳态工作点
模型的稳态工作点,也称为平衡或配平工况,包括不随时间变化的状态变量。
一个模型可以有多个稳态工作点。例如,一个悬挂的阻尼摆有两个稳态工作点。在这两个工作点,该摆的位置不随时间变化。当摆垂直向下悬挂时,会出现一个稳定的稳态工作点。当摆稍微偏离此位置时,它总能恢复平衡。换句话说,工作点的微小变化不会使系统离开平衡值附近的良好逼近区域。
当摆指向上方时,会出现一个不稳定的稳态工作点。只要摆指向正上方,它就处于平衡状态。但是,当摆稍微偏离此位置时,它会向下摆动,工作点会离开平衡值周围的区域。
使用优化搜索来计算非线性系统的工作点时,您对状态和输入电平的初始估计值必须接近期望的工作点以确保收敛。
当线性化的模型具有多个稳态工作点时,具有正确的工作点至关重要。例如,在稳定的稳态工作点附近线性化摆模型会生成稳定的线性模型,而在不稳定的稳态工作点附近线性化会生成不稳定的线性模型。
工作点对象中包含的 Simulink 模型状态
在 Simulink Control Design™ 软件中,Simulink 模型的工作点由工作点 (operpoint) 对象表示。该对象存储可调模型状态及其值,以及有关工作点的其他数据。具有内部表示的模块(如 Backlash、Memory 和 Stateflow® 模块)的状态被排除在外。
从工作点对象中排除的状态无法用于配平计算。这些状态无法通过 operspec 或 operpoint 捕获,也无法通过 initopspec 写入。在使用模型线性化器进行工作点显示或计算时,此类状态同样被排除在外。下表总结了工作点对象中包含和排除的状态。
| 状态类型 | 是否包含在工作点对象中? |
|---|---|
| 双精度实数值状态 | 是 |
非 double 类型的状态值。例如,复数值状态、single 类型的状态、int8 类型的状态。 | 否 |
| 具有双精度实数值输入的根级输入端口模块的状态 | 是 |
| 影响模块输出的内部状态表示,如 Backlash、Memory 或 Stateflow 模块中的状态。 | 否(请参阅Handle Blocks with Internal State Representation) |
| 输入为总线信号的 Unit Delay 模块所属的状态 | 否 |