巧用python的矩阵运算来进行电路的计算和分析

liftword4个月前 (02-24)技术文章47

多元一次方程组

早在初中时,我们就学习过多元一次方程组的求程。

所谓多元一次组指的是含有有个未知数,并且含有未知数的项的次数都是1方程组。

一个简单的例子:

学校的篮球数比排球数的2倍多3个,足球数与排球数的比是2:3,三种球共48个,求三种球各有多少?

假设篮球个数为x1,排球个数为x2,足球个数为x3,

根据题目有以下的关系式成立:

对于多元一次方程组,最常用消元法来进行求解。

思路是经过各个方程组之间的线性运算,消去一些未知数,最终得到一个未知数的方程。

根据该方程解出未知数,再代回其它方程得到其它未知数的值。

整个过程非常繁琐,一不小心就会出错;

矩阵运算

在学习了矩阵运算之后,这一求解过程可以化为矩阵运算而大大简化;

跟初等数学里面学习的加、减、乘、除运算规则一样,伟大的数学家们也为矩阵运算制定了一些规则。

对于矩阵的加、减,限于文章篇幅,在此不作赘述。

对于矩阵的乘法,有以下的规则:

设有一个m行s列的矩阵表示为

一个s行n列的矩阵表示为

则矩阵A左乘于矩阵B所得到的矩阵C是这样一个矩阵:

  (1) 行数与(左矩阵)A相同,列数与(右矩阵)B相同,即C=

  (2) C的第i行第j列的元素由A的第i行元素与B的第j列元素对应相乘,再取乘积之和。

比如,两个矩阵:

计算,从规则(1),可以知道C是2行3列的矩阵。

每个元素的数值由规则(2)计算得到,比如:

第0行0列的数值为:

c00=1*1+2*-1=-1;

第0行1列的数值为:

c01=1*2+2*1=4;

依次算出各元素的数值,并表示为矩阵,得到:

对图1的多元一次方程组,我们做一些变形,

并把未知数表示为3行1列的矩阵,可以得到:

表示为:,然后就可以经过矩阵运算求解方程组。

左右两边同时左乘A的逆矩阵,得到:

N年前,matlab还能随意使用,做矩阵运算非常只是几条命令的事情,非常简单。

在被matlab抛弃的日子里,虽然对matlab还怀有深深的眷恋,无奈落花有意、流水无情;

我只能退而求其次用python来排遣寂寞。

利用,以下python脚本,

Bash
import numpy.matlib
import numpy as np
A=np.array([[1,-2,0],[0,3,-2],[1,1,1]])
Y=np.array([[3],[0],[48]])
X=np.matmul(np.linalg.inv(A),Y);

求得,[x1,x2,x3]=[23, 10, 15];

矩阵运算在电路计算、分析中的应用

在线性电路中,首先通过电路理论得到电路的线性方程组。

把线性方程组的求解转换为矩阵运算。

再用python编写脚本进行矩阵运算,就可以算出电路中的各电气参数;

如下图的电路分析题目,求解i1和i2;

根据网孔电流法,有:

化简得到:

编写python脚本,

Bash
import numpy.matlib
import numpy as np
A=np.array([[30,-20],[-20, 80]])
Y=np.array([[-10],[20]])
X=np.matmul(np.linalg.inv(A),Y);

计算得到[i1,i2]=[-0.2, 0.2];

总结

本文旨在介绍矩阵的概念、矩阵运算的规则,以及与多元一次方程组的关系。

并以一个简单的电路为例,介绍电路计算过程;

矩阵运算以及电路分析远不限于此,

另外通过符号的矩阵运算,可以得到电参数的解析表达式并对其化简,可以大大简化滤波电路的分析计算。

相关文章

Python矩阵操作详解

Python 处理矩阵的方式有很多,其中最常用的库是 NumPy,它提供了高效的矩阵运算和操作能力。此外,pandas、SciPy 和 TensorFlow 等库也支持矩阵运算。下面介绍一下矩阵操作的...

如何在 Python 中制作矩阵:详细指南

什么是矩阵?在深入研究之前,让我们了解一下矩阵是什么:它是一个按行和列排列的数字的矩形数组。在 Python 中,我们通常使用嵌套列表来表示矩阵,其中每个内部列表代表一行。使用列表创建基本矩阵让我们从...

学习Numpy,看这篇文章就够啦

导读:在数据分析当中,Python用到最多的第三方库就是Numpy。本文内容是「大数据DT」内容合伙人王皓阅读学习《Python 3智能数据分析快速入门》过后的思考和补充,结合这本书一起学习,效果更佳...

进入Python的世界27-NumPy 库的介绍及学习方法

NumPy是多个高级库的基础,掌握深度学习之前,必须先学习这个库,让咱们一起开始学习了解一下这个库,形成自己的学习与知识体系。一 NumPy 主要框架内容1. ndarray对象ndarray(N-d...

Python Numpy和矩阵的相关面试问题

通常,数据科学家被要求在Python中执行简单的矩阵运算,这应该很简单,但许多人会偏离正轨。本文将介绍面试中经常出现的4个Numpy/matrix问题,并用Python编写代码。问题1:给定4x4 N...

《Python机器学习实践》课程学习方法指引

不久前发布的DeepSeek-R1,将AI推到人类科技新高度!AI正成为最炙手可热的话题。对标同学们自己,无论是想进入数据科学领域,还是希望提升自己在职场上的竞争力,《Python机器学习实践》这门课...