节点电压法中 G 矩阵的性质
前面几篇文章已经把 R、L、C、RLC 串联支路和源类元件陆续写进了节点电压法。写到这里,读者很容易产生一个新的问题:程序里反复求解的那个矩阵,到底有什么结构?
这个问题不只是数学洁癖。电磁暂态仿真每一个时间步都要求解网络方程。如果矩阵有对称性、稀疏性、正定性,程序就可以用更省内存、更快的分解方法;如果矩阵固定不变,程序还可以在实时运行前提前把矩阵处理好。反过来,如果矩阵奇异、不对称,或者每一步都在变,求解器要付出的代价就完全不同。
这一篇先不写具体稀疏矩阵程序,只把几个最重要的性质讲清楚:对称性、正定性、奇异性,以及它们在 EMT 计算里的工程意义。
先看几种会在节点电压法里反复遇到的矩阵形状。这里先不急着给它们下结论,因为单个支路的局部矩阵和完整网络的全局矩阵不是一回事。局部矩阵可能对称,也可能不对称;它还常常是奇异的。真正能不能求解,要看它被装配进什么样的完整网络。
第一种形状来自普通无源支路。把上一篇文章里的 RLC 串联支路拿回来,先不接任何电压源,只看这条支路本身。梯形离散以后,它可以整体看成一个等效导纳和一个历史项:
只看 RLC 这条支路对节点的贡献,它进入节点方程时会出现这种上下镜像的小矩阵:
这里的“无源”说的是物理支路仍然只是 R、L、C;是离散递推带来的历史项,它进右端向量,不是外部电压源或外部电流源。
但这类上下镜像的小矩阵还有另一个特点:只看它自己,往往也是奇异的。最简单的电阻支路就是这样。如果整个网络只有节点,而且没有任何一个节点接参考地,那么矩阵是:
它看起来很正常,也仍然是对称的,但它的两行相加为零:
所以:
这时矩阵奇异。问题不是电阻错了,而是网络缺少参考点:和对这条支路来说压差一样,支路电流也一样。
所以这个例子想观察的不是“一个无源局部块已经能单独求解”,而是两件事:它会给全局矩阵贡献一种对称结构;如果完整网络没有参考点,这种结构也可能留下整体电位平移的自由度。
第二种形状来自受控源。上一篇讲过压控电流源 VCCS。它的输出端接在节点之间,控制量来自节点的电压差:
它对矩阵的局部贡献可以写成:
这个局部矩阵看起来更别扭:例如位置有,但位置是。同时它有大量零行、零列,单独拿出来当然也不能代表一个完整可解网络。这里想观察的是另一件事:受控源会把“输出端”和“控制端”交叉耦合起来,使局部导纳贡献一般不再满足转置对称性。
从一个支路的装配开始
先回到最熟悉的无源电阻支路。设电阻接在节点和节点之间,电流参考方向从到,支路电流为:
按“流出节点为正”的约定,对两个端点写成矩阵就是:
这个小矩阵就是支路对全局矩阵的局部贡献。装配时,程序只是把这四个数加到全局矩阵中节点对应的位置:
电感、电容经过 Dommel 形式离散以后,只要当前步能写成:
它们进入矩阵的方式也是同一个结构。区别只是变成,历史项进入右端向量,而不是进入矩阵。
为什么无源网络通常是对称的
无源 R、L、C 支路离散后,每条支路给出的局部矩阵都是:
它天然满足转置不变:
很多这样的对称小矩阵装配到一起,全局矩阵仍然对称。所以,对只含线性无源支路的网络,节点导纳矩阵通常是对称的。
这里还会遇到一个词:互易性。粗略地说,互易就是把激励位置和响应位置互换以后,传递关系不变。用导纳矩阵写,就是节点的电压对节点电流的影响,和节点的电压对节点电流的影响是成对相等的:
推广到整个矩阵,就是:
普通 R、L、C 无源网络通常具有这种互易性,所以它们装配出来的导纳矩阵容易是对称的。理想变压器这类元件本身也可以是互易的,但它往往不是一个简单的“导纳支路”,而是电压、电流约束关系,实际求解时常常要进入 MNA;这会让矩阵形式变得更复杂,不再是单纯的普通节点导纳矩阵。
这个对称性可以从两个角度理解。
第一个角度是 KCL 和支路电流关系。支路电流只由两端电压差决定:从看出去是,从看出去就是。同一条支路对两个端点的影响大小相等、符号相反,于是矩阵中两个位置会成对出现。
第二个角度是功率或能量。对一个电阻支路,瞬时耗散功率为:
这是一个平方项,不会因为把节点的名字交换一下就改变。对整个无源网络,所有支路贡献加起来可以写成类似:
这里表示第条支路,是这条支路的两个端点。这个式子告诉我们:无源导纳矩阵的二次型来自各条支路电压差的平方和。它反映的是耗散或离散后的等效储能关系,因此自然带有很强的对称结构。
所以,说“无源网络的矩阵对称”时,不必把原因只归结成一句“能量守恒”。更准确地说:无源、互易、只由两端电压差决定的支路,在 KCL 装配时会给出成对的对称贡献;从功率二次型看,这种贡献又对应电压差平方项。
正定和半正定
对称不等于正定。一个矩阵对称,只说明:
正定讨论的是:
是否对所有非零向量都成立。
对无源电阻网络或 Dommel 等效导纳网络来说,通常可以得到:
因此它至少有半正定的味道。只要所有都是正数,任何支路电压差都会贡献非负项。
但“非负”还不是“正”。如果整个网络完全浮起来,没有任何参考地,那么所有节点电压一起加上同一个常数,所有支路电压差都不变:
于是也不变。更具体地说,对一个只靠支路互相连接、没有参考点的网络,向量:
通常会落在零空间里:
这时矩阵不是正定,而是半正定,并且是奇异的。
真正让矩阵变成正定的,往往不是“无源”本身,而是参考点和网络连通性。选定参考地以后,如果每个待求节点都通过某些导纳路径和参考点连通,那么非零节点电压通常会造成至少一条支路电压差不为零,于是:
这时才更接近我们在线性代数里喜欢的对称正定矩阵。
奇异性从哪里来
奇异的意思很直接:矩阵不能唯一求解。数学上可以看行列式:
工程上更常见的感觉是:节点电压没有唯一参考,或者某些节点没有被足够的方程约束住。
最典型的例子就是上一篇反复提到的浮地网络。两个节点之间只有一个电阻:
这个矩阵的两行相加为零:
所以它的秩不满。只要相同,支路状态就相同。例如:
和:
对这个电阻支路来说没有区别。差值都是,电流也一样。问题是节点电压法要求的是每个节点相对于参考地的电压,而不是只求支路压差。因此没有参考点时,矩阵会留下一个“整体平移”的自由度。
除了浮地,奇异还可能来自:
- 孤立节点或孤立子网络没有接到参考点。
- 只有理想电流源,没有并联导纳或其他约束路径。
- 理想电压源、受控电压源等约束没有用 MNA 正确引入额外未知量。
- 开关断开后,网络被切成了多个没有参考的电气孤岛。
这些情况本质上都在说同一件事:矩阵里某些自由度没有被方程真正钉住。
对称矩阵为什么对 EMT 有用
在 EMT 程序里,每一个时间步常见的线性方程形如:
这里是当前步节点电压,是右端向量,里面包含电流源、历史项和外部注入。
如果是对称的,程序在存储和求解时都能占便宜。最直观的好处是:矩阵上下三角互为镜像,理论上只需要存储一半的非零结构。更重要的是,对称正定矩阵可以使用 Cholesky 这类分解;对称但不正定的 MNA 矩阵,也可以使用适合对称不定矩阵的分解方法。
这里要注意一个说法:工程程序一般不会真的先求出,再每一步做:
显式求逆通常又慢又不稳定。更常见的做法是对做分解,例如:
或者其他适合稀疏矩阵的分解形式。分解以后,每个时间步只需要更新右端,再做前代、回代求出。
这就是为什么 EMT 程序非常喜欢固定步长和固定拓扑。以 Dommel 形式为例,电感和电容的等效导纳分别含有时间步长:
如果不变,元件参数不变,开关拓扑也不变,那么全局矩阵就不变。实时运行前,程序可以先完成:
- 节点编号。
- 矩阵非零结构分析。
- 矩阵装配。
- 矩阵分解。
实时运行时,每一拍主要做:
- 更新历史项和源注入。
- 组装右端向量。
- 用已经分解好的矩阵求解节点电压。
- 回算支路电流和新的历史项。
这对实时仿真尤其关键。因为实时程序最怕每一步都重新分析矩阵结构、重新分解矩阵,那会让计算耗时变得不可控。
什么时候 G 不再对称
上一篇讲受控源时已经看到一个典型情况:压控电流源 VCCS 的输出端在,控制量却来自。例如:
它对节点的 KCL 有贡献,但这个贡献写在对应的列上。装配时,矩阵里会出现类似这样的局部贡献:
这类局部贡献会把全局矩阵推向非对称。原因也很清楚:输出端和控制端不是同一对节点。控制电压影响输出电流,但输出节点电压不一定反过来以同样方式影响控制端电流。这是非互易关系,不再是普通无源两端支路那种“你影响我,我也以同样大小影响你”的结构。
除了受控源,下面这些情况也可能让矩阵性质变复杂:
- 理想电压源、受控电压源、理想变压器等需要 MNA,引入额外支路电流未知量。
- 电力电子开关改变拓扑,使矩阵结构随时间变化。
- 非线性元件在线性化后,等效导纳随工作点变化。
- 变步长积分会让电感、电容的随时间步变化。
- 某些数值稳定化、小电阻、小电导处理会改变矩阵条件数。
所以“无源网络对称”是一个很有用的基础直觉,但不能把它当成所有电路矩阵的默认真理。
小结
这一篇真正想整理的是几个容易混在一起的词:
- 对称:矩阵满足。无源、互易、线性支路通常给出对称装配。
- 半正定:。无源支路的电压差平方和通常具有这个性质。
- 正定:对所有非零都有。这通常还需要参考点和足够的导纳连通性。
- 奇异:矩阵不能给出唯一解。常见原因是浮地、孤岛、缺少约束或理想源处理不完整。
- 固定矩阵:如果步长、拓扑和参数不变,可以提前装配和分解,实时计算时主要更新右端向量。
- 非对称矩阵:受控源和非互易关系会让输出端与控制端交叉耦合,从而破坏普通无源网络的对称结构。
从 EMT 的角度看,理解这些性质不是为了炫耀线性代数,而是为了知道程序为什么要选参考地,为什么要避免奇异网络,为什么喜欢固定步长,为什么开关和受控源会让求解器更麻烦。矩阵不是凭空冒出来的,它只是把每条支路的物理关系,按节点电压法装配到了一起。
相关内容
支付宝
微信