---
id: E02
title: 洪水为什么会拖尾？用线性水库看见系统的记忆
status: 教学初稿，待独立专业审稿
model_ids: [M01]
prerequisites: [E01 水量守恒]
data_kind: 教学合成数据
updated: 2026-09-15
---

# 洪水为什么会拖尾？用线性水库看见系统的记忆

把完全相同的一段来水，送进两个概念蓄水体。左边出流升得快，右边升得慢；来水停止后，右边却还在持续出水。

这并不意味着右边凭空产生了水。来水期间它暂存得更多，来水停止后再逐渐释放。今天，我们只用两个关系，就能算出这个过程。

## 守恒之后，还缺什么？

上一期得到 `dS/dt = I − Q`。S是储量，单位m³；I和Q分别是入流、出流，单位m³/s。

但如果只知道入流I，储量S和出流Q仍是两个未知量。我们还需要一个关系，说明存下多少水时，会流出去多少。

先尝试一个简单假设：`S = KQ`，或者 `Q = S/K`。

K必须大于0，单位是时间。储量翻倍，出流也翻倍。这就是“线性”在这里的含义：储量与出流成正比。它是为了描述系统响应而作的概化，不是从任意一座真实水库自动得到的规律。

本期把蓄水体画成透明容器，但它代表概念储量。普通孔口出流通常与水头平方根相关，不能用“水箱底部有个洞”来证明 `S=KQ`。

## K究竟控制什么？

假定K不随时间变化，把 `S=KQ` 代入守恒式：

`K · dQ/dt = I − Q`，也就是 `dQ/dt = (I − Q)/K`。

把右侧看成出流曲线的斜率：入流大于出流，斜率为正，出流上升；入流小于出流，斜率为负，出流下降；二者相等时，出流暂时不变。

相同的差值除以更大的K，变化就更慢。系统仿佛更有“惯性”，但这里描述的是储留响应，并不是额外建立了动量方程。

比较时要说清保持什么相同。如果初始储量相同且非零，不同K会给出不同初始出流。本期两个系统都从 `S(0)=Q(0)=0` 开始，因此初值完全一致。

## 从斜率看到指数曲线

当入流恒定为I₀时，出流Q总是在追赶I₀。距离目标越近，差值 `I₀−Q` 越小，上升越慢。

把差值记为 `D=I₀−Q`，则 `dD/dt=−D/K`。差值的减少速度与差值本身成正比，因此按指数衰减：

`Q(t)=I₀+[Q(0)−I₀]·exp(−t/K)`。

来水一旦停止，I变成0，出流沿着另一段指数曲线下降：

`Q(t)=Q(t₀)·exp[−(t−t₀)/K]`。

每经过一个K，剩下原来的 `1/e≈36.8%`；经过两个K，剩13.5%；三个K，剩5.0%。这是相对于退水起点的出流比例。K不是“恰好排空所需时间”，也不是“所有水统一延迟K才到达”。理想指数退水只在无限长时间的极限趋于零。

## 一份可以复算的来水

教学输入：前30分钟入流恒为100m³/s，之后为0。两个系统都从空库开始，对比 `K=10分钟` 和 `K=30分钟`。这是一段人为设定的矩形来水，并不直接等同于降雨。

计算储量时，K要换成秒：10分钟=600秒，30分钟=1800秒。指数中的t/K则只要使用相同时间单位即可。

| 时刻 | K=10分钟出流（m³/s） | K=30分钟出流（m³/s） |
| --- | --- | --- |
| 10分钟 | 63.21 | 28.35 |
| 30分钟，来水刚结束 | 95.02 | 63.21 |
| 60分钟 | 4.73 | 23.25 |
| 120分钟 | 0.01 | 3.15 |

较大的K让出流上涨得更慢，在这次来水结束时形成较低的峰值，并留下更长的退水过程。本例两个出流峰值都出现在30分钟，不能把这个对比说成“较大的K使本例峰现时间更晚”。一般变化输入下，峰现时间由来水过程和系统响应共同决定。

## 峰值少掉的水去哪了？

总入水量为 `100 × 30 × 60 = 180,000 m³`。

在来水停止的30分钟时，K=10分钟的储量约57,013m³；K=30分钟的储量约113,782m³。出流峰值更低的系统，当时储存了更多水。

对任意时刻，有 `累计入水 = 累计出水 + 当前储量`。没有损失时，等剩余储量最终趋于零，总出水量才趋于180,000m³。有限时间图上还没画出的尾巴，不能算成“丢失的水”。

配套[Python算例](case/reproduce.py)使用解析解输出各时刻的流量、储量和水量平衡，并导出CSV。交互实验采用相同解析关系，绘图间隔不会改变某时刻的计算结果。

## 工程里怎样使用？

线性水库可用于概化储留、退水和基流响应，也可组成串联模型。HEC-HMS的线性水库基流方法使用多个储层并包含分配和初值等设置；本期单个概念蓄水体是教学基础，不等同于其完整软件实现。[HEC-HMS技术参考](https://www.hec.usace.army.mil/confluence/hmsdocs/hmstrm/baseflow/linear-reservoir-model)

实际应用需要确定输入与输出代表什么，检查单位和初值，再用观测过程率定K并独立验证。若退水期间仍存在补给，就不能未经处理直接按无入流公式反推K。

## 什么时候要换模型？

真实水库有最大库容、溢洪道、闸门操作与水位—库容关系。如果任由线性模型储水，它可能超过实际工程允许的库容。此时需要具有这些关系和约束的水库模型。

而当你关心河道某处的水位、流速、回水或局地淹没时，单个储留关系也不足以回答问题，应考虑相应水动力模型。

## 练习

1. 无入流时，经过一个K，出流还剩退水起点的多少？
2. 本例将K从10分钟改为30分钟，两个出流峰值是否一定错开？
3. 120分钟时累计出水少于180,000m³，是否意味着不守恒？

答案：约36.8%；本例都在30分钟出现出流峰值；不一定，差额应等于仍留在蓄水体内的储量。

## 参考与状态

模型关系及闭合假设见[M01模型档案](../../02-model-cards/M01-linear-reservoir.md)。储量—出流比例关系参考[HEC RD-48L](https://www.hec.usace.army.mil/publications/ResearchDocuments/RD-48L.pdf)中线性水库说明；软件用途参考上述HEC-HMS技术参考。其余指数表达式由本页微分方程直接推导，数值为原创教学设定。访问日期：2026-09-15。当前待独立专业审稿。
