主要内容

对系统算法进行建模

当不完整的系统需求和开发中的系统设计使您无法预先定义文件管理和模型架构时,您仍可以对基本系统算法进行建模。通过将模型组织成输入、输出和系统,您可以随着模型的增长为模型组件创建一个通用框架。

为了说明从有限信息开始的建模工作流的第一阶段,此示例使用一个由质点、弹簧和阻尼组成的简单机械系统。

Diagram of simple mass, spring, and damper system

以下二阶微分方程描述该系统的特性。

mx¨+cx˙+kx=F

在此方程中:

  • m 是质点。

  • c 是阻尼系数。

  • k 是弹簧常数。

  • x¨ 是加速度。

  • x˙ 是速度。

  • x 是位移。

  • F 是外力。

x¨ 的求解提供了此方程的一种形式,可以更清楚地映射到 Simulink® 模型。

x¨=1m(F-cx˙-kx)

名为 BasicModelingSimpleSystem 的模型表示以下方程。

mdl = "BasicModelingSimpleSystem";
open_system(mdl);

Model with areas labeled Sources, System, and Sinks

Sum 模块计算施加到质量上的净力。标注为 1/m 的 Gain 模块通过将净力乘以 1/m 来计算质量的加速度。Integrator、Second-Order 模块求解质量的速度和位置。

该模型将模块组织成三个区域:

  • 名为 Sources 的区域包含系统输入。

  • 名为 System 的区域包含表示系统或被控对象的模块。

  • 名为 Sinks 的区域包含系统输出。

通过预先组织模型,您可以为不断增长的模型中的组件创建一个总的框架。

由于此示例说明处于初步开发阶段的模型,因此实际输入力未知,可以由各种标准信源模块来表示。模型使用连接的 Step 模块作为系统的输入。其中也显示了一些注释掉的其他信源模块。例如,您可以使用 From Spreadsheet 模块加载经验数据(如果可用)。

同样,各种信宿模块可以接受输出位移。为了检查仿真结果是否符合预期,模型使用 Scope 模块来可视化信号。

sim(mdl);

另请参阅

主题