MATLAB / SIMULINK:模拟河流的注水和排空

MATLAB / SIMULINK: Simulate filling and emptying of a river

背景:

一条河流有一条non-constantcross-section。标准状态下,水位为h_Std(见下图)

随着开始下雨,水位上升直到等于h_Rain(见下图)

雨停后,水位回落到标准水位

从图中可以看出,水位与体积的关系是non-constant。但是,该函数可以用数学方式描述,并且以我对河流的特殊 cross-section 而闻名。

问题描述:

我想模拟下雨时河流的水位随时间的变化。下雨用信号表示,可以是 0(不下雨)或 1(下雨)(见下图中的红色曲线):

下图的 dark-blue 部分是非线性的,代表上图中 h_Std 和 h_Rain 之间的部分。完全填满河流的时间是已知的(t_Fill)。

一般来说,我想激活一个由外部信号(在我的例子中表示通过 "rain"-信号)。

我怎样才能获得这样的功能(使用带有 Simulink 块的 Matlab-Code 订单)?

有几种方法可以做到这一点,其中之一是使用启用的子系统来处理下雨和不下雨阶段。您需要更改以下 2 个子系统的内容,以反映您在 2 个区域中的确切高度配置文件。