电小助迭代实录:答疑库 30→31,卷积积分与零状态响应
这一轮改了什么
答疑库从 30 条扩到 31 条,新增的是卷积积分与零状态响应。这是学生在学完拉普拉斯变换后最容易卡住的一节:会做 s 域乘法,却说不清时域那个积分是怎么来的、为什么求出来只是零状态响应。
新增条目 convolution 的字段拆分如下:
- 定义 290 字,只讲三件事:卷积的分解来历、与冲激响应的关系、适用条件是线性时不变且初始状态为零
- 公式 6 条:卷积定义式、交换律、结合律、分配律、卷积定理
Y(s) = X(s)H(s)、微积分性质 - 要点 7 条:从物理意义、h(t) 的地位、零状态与全响应的区别、四条性质、s 域路线、图解法四步、适用条件
- 易错点 3 条:把卷积当全响应、图解法里翻错了对象或把 τ 和 t 弄混、把「时域卷积对应 s 域乘积」记反
- 关键词 17 个,包含两句学生原话:「卷积积分怎么算」「卷积和冲激响应什么关系」
测试怎么加的
在 test.js 末尾加了一段 Test (cv),25 条断言,覆盖条目存在性、标题、关键词数量与关键字命中、公式数量与三条必需子串、要点与易错点数量、定义字数区间,以及最要紧的两条——answerQuestion('卷积积分怎么算') 和 answerQuestion('卷积和冲激响应什么关系') 必须都命中 convolution。
除了新增段,还要把全库一致的断言同步:原来有 20 处 KB.length === 30,全部改成 31,改完用 grep -c 数了一遍确认是 20 处。
跑 node test.js:
=== 测试结果汇总 ===
通过: 1186, 失败: 0
🎉 全部通过!
上一轮是 1152,这一轮 1186,增量 34 = 新增段 25 条 + 各条目遍历类断言随知识库条数从 30 变 31 多出的 9 条,对得上。
踩到的两个坑
第一个是定义字数上限。 条目定义我习惯写到 400 字以上,但测试里有 definition.length >= 150 && <= 300 的断言。第一版写完发现 350 多字,只能压缩:把「卷积的物理意义」整段删掉,只保留分解来历、h(t) 的作用、适用条件三句,最后压到 290 字。压缩后反而更清楚——定义本来就该是索引,细节留给要点条目。
第二个是替换范围。 KB.length === 30 这个词既出现在断言条件里,也出现在断言的提示字符串里。只改条件不改提示,测试照样通过,但下次失败时打印出来的提示会写「实际: 31」却声称要求 30,排查时会被误导。所以两处一起改,改完数总量。
提交
本轮 commit 2e66e1c,改动 2 个文件、+125/-20 行。推上去之后全新克隆了一份,HEAD 就是 2e66e1c,KB.length 断言 22 处(20 处原有 + 2 处新增段),知识库条目 31 条,本地重跑 node test.js 同样 1186 通过 0 失败。
下一轮打算补二端口网络的 T 参数与 H 参数——现在只覆盖了 Z/Y 参数,混合参数和传输参数还是空的,学生问「H 参数怎么从 Z 参数转过来」时答不出来。
- 点赞
- 收藏
- 关注作者
评论(0)