NodeLab:从电路图到节点方程
学节点电压法时,我们往往先看到一张电路图,再看到一大块矩阵。两者之间的过程,却常常只用一句“列写节点方程”带过。
NodeLab 想把这个过程展开给你看:电路怎样连接,支路电流怎样表示,元件的系数怎样进入节点矩阵,以及内部节点消去以后,外部端口还剩下什么关系。
它是本站配套的浏览器电路分析工具。你可以一边修改连接,一边对照方程,观察电路结构与数学模型之间的关系。
1. 它能帮我们看清什么?
从一条支路开始
以一条从节点 指向节点 的电阻支路为例,设电导为 ,两端节点电压分别为 和 ,那么支路电流为:
这里的电流正方向是从 到 。同一条支路,在节点 和节点 的电流平衡式中,会以相反的方向出现。因此,它对这两个节点的导纳矩阵贡献为:
NodeLab 中的“支路电流”和“节点方程”视图,正好对应这两个观察层次:前者看每条支路,后者看支路汇总后的网络关系。本文用 表示节点电压,工具界面中使用的 表示同一类量。
再看整个网络
多个元件连接到一起以后,可以把节点方程整理成:
其中, 是按节点顺序排列的电压向量, 是组装后的节点导纳矩阵, 表示按当前方向约定汇总的历史项或等效源项。这里沿用工具的表达形式;若把源项移到等式另一侧,它的符号也要随之改变。
工具的价值不只是给出结果,而是让我们能同时对照连接、节点顺序和矩阵位置。 比如修改一个节点名或一处连接后,可以检查相关支路是否真正接到了同一节点,以及方程中哪些位置发生了变化。
2. 第一次打开,可以这样试
建议先保留默认示例,不必从空白画布开始。
- 看电路连接。 画布中的节点标签帮助我们识别哪些端点属于同一个电气节点;图上的位置接近,并不等于已经连接。
- 看支路电流。 对照元件两端节点和箭头方向,检查每条电流表达式。
- 切到节点方程。 按右侧的节点顺序,逐行对照矩阵和电压向量。
- 区分外部和内部节点。 外部节点是希望保留的接口,内部节点是准备在等效过程中消去的未知量。
- 打开“消去版本”。 对照消去前后的方程,并查看内部节点电压如何恢复。
画布可以缩放和平移,下方输出窗口也可以拖动调整高度。电路较大时,可以把更多空间留给画布;检查矩阵时,再把输出区拉高。
3. “消去内部节点”是什么意思?
消去不是把某条支路从电路里删掉,也不是忽略它的作用,而是把内部未知量用外部未知量表示,再代回外部方程。
把源项整理到右端以后,节点方程可以分块写成:
下标 表示外部节点, 表示内部节点。如果 可逆,内部电压可以写成:
代回外部方程,得到:
左边括号中的矩阵,就是保留外部接口后的等效导纳矩阵。工具还会提供内部节点电压恢复关系:未知量在外部求解中减少了,但内部电压并不是从此无法得到。
这里写逆矩阵是为了表达消去关系,并不要求数值实现显式计算矩阵的逆。如果内部子块不可逆,就不能直接使用这组公式,需要检查节点划分、参考节点或模型约束。
4. 怎样建立和保存自己的电路?
左侧工具栏提供支路、电流源、电压源串联电导、单相变压器、自定义多节点支路和接地等入口。选择元件后,可以在右侧检查并修改相应参数。对较复杂的局部网络,也可以探索工具中的组合和 Y 节点黑盒功能。
开始时建议只改一处:增加一条支路,或者调整一个节点的内部、外部属性,然后观察方程怎样变化。这样更容易判断结果是否符合预期。
需要保留电路时,请使用“导出电路组合”保存 JSON 文件。 后续可以通过“导入电路组合”读回。当前导入行为是追加元件,不是自动替换已有电路;导入前应留意当前画布中的内容。
浏览器页面不是服务器上的电路文件管理器。重要版本应主动导出保存,不要把页面当前状态当作唯一备份。
5. 它不是完整的时域仿真器
NodeLab 当前侧重的是电路拓扑、代数方程与符号消去。画出一个电路,并不等于已经完成了带时间步进、开关事件和非线性迭代的电磁暂态仿真。
对于电感、电容等动态元件,若要利用其离散后的电导和历史项,还需要先确定离散化方法、步长和状态更新关系。看到工具中存在历史电流参数,也不意味着工具已经替你完成整段时域计算。
还需要注意:
- 方向和节点顺序要一致。 对照手算结果时,应先统一电流方向、节点排列和源项放置位置。
- 符号运算也有成本。 网络变大、表达式变复杂时,化简可能更慢,结果也可能很长。
- 首次计算需要加载依赖。 当前浏览器版本通过 Pyodide 和 SymPy 完成符号运算,首次加载需要网络;网络不可达时,相关计算可能无法完成。
- 结果仍要核对。 建议从能够手算的小电路开始,再逐渐增加支路和耦合关系。
它更适合作为一个学习和建模时的检查工具:帮助我们把电路图、节点方程和等效网络放在一起看,而不是替代对模型本身的判断。
相关内容
支付宝
微信