百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

itomcoil 2025-01-10 14:18 8 浏览

多元一次方程组

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

所谓多元一次组指的是含有有个未知数,并且含有未知数的项的次数都是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脚本,

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脚本,

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];

总结

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

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

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

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

相关推荐

tesseract-ocr 实现图片识别功能

最近因为项目需要,接触了一下关于图像识别的相关内容,例如Tesseract。具体如何安装、设置在此不再赘述。根据项目要求,我们需要从省平台获取实时雨水情况数据,原以为获取这样的公开数据比较简单,上去一...

跨平台Windows和Linux(银河麒麟)操作系统OCR识别应用

1运行效果在银河麒麟桌面操作系统V10(SP1)上运行OCR识别效果如下图:2在Linux上安装TesseractOCR引擎2.1下载tesseract-ocr和leptonicahttps:...

JAVA程序员自救之路——SpringAI文档解析tika

ApacheTika起源于2007年3月,最初是ApacheLucene项目的子项目,于2010年5月成为Apache组织的顶级项目。它利用现有的解析类库,能够侦测和提取多种不同格式文档中的元数据...

Python印刷体文字识别教程

在Python中实现印刷体文字识别(OCR),通常使用TesseractOCR引擎结合Python库。以下是详细步骤和示例:1.安装依赖库bashpipinstallpytesseractp...

图片转文字--四种OCR工具的安装和使用

本文仅测试简单的安装和使用,下一步应该是测试不同数据集下的检测准确率和检测效率,敬请期待。作者的系统环境是:笔记本:ThindPadP520OS:win11显卡:QuadroP520一、EasyO...

mac 安装tesseract、pytesseract以及简单使用

一.tesseract-OCR的介绍1.tesseract-OCR是一个开源的OCR引擎,能识别100多种语言,专门用于对图片文字进行识别,并获取文本。但是它的缺点是对手写的识别能力比较差。2.用te...

【Python深度学习系列】Win10下CUDA+cuDNN+Tensorflow安装与配置

这是我的第292篇原创文章。一、前置知识安装GPU版本的pytorch和tensorflow之前需要理清楚这几个关系:显卡(电脑进行数模信号转换的设备,有的电脑可能是双显卡,一个是inter的集成显卡...

手把手教你本地部署AI绘图Stable Diffusion!成功率100%!

导语:无需每月付费订阅,无需高性能服务器!只需一台普通电脑,即可免费部署爆火的AI绘图工具StableDiffusion。本文提供“极速安装包”和“手动配置”双方案,从环境搭建到模型调试,手把手教你...

本地AI Agent Hello World(Python版): Ollama + LangChain 快速上手指南

概要本文将用最简洁的Python示例(后续还会推出Java版本),带你逐步完成本地大模型Agent的“HelloWorld”:1、介绍核心工具组件:Ollama、LangChain和...

python解释器管理工具pyenv使用说明

简介pyenv可以对python解释器进行管理,可以安装不同版本的python,管理,切换不同版本很方便,配置安装上比anaconda方便。pyenv主要用来对Python解释器进行管理,可以...

Deepseek实战:企业别只会用Ollama,也可以用SGLang

SGLang:企业级的“性能之王”优点吞吐量碾压级优势通过零开销批处理调度器、缓存感知负载均衡器等核心技术,SGLang的吞吐量提升显著。例如,在处理共享前缀的批量请求时,其吞吐量可达158,59...

用LLaMA-Factory对Deepseek大模型进行微调-安装篇

前面的文章已经把知识库搭建好了,还通过代码的形式做完了RAG的实验。接下来呢,咱们要通过实际操作来完成Deepseek的另一种优化办法——微调。一、环境因为我这台电脑性能不太好,所以就在Au...

碎片时间学Python-03包管理器

一、pip(Python官方包管理器)1.基础命令操作命令安装包pipinstallpackage安装特定版本pipinstallnumpy==1.24.0升级包pipinstall-...

ubuntu22/24中利用国内源部署大模型(如何快速安装必备软件)

本地AI部署的基础环境,一般会用到docker,dockercompose,python环境,如果直接从官网下载,速度比较慢。特意记录一下ubuntu使用国内源快速来搭建基础平台。一,docke...

还不会deepseek部署到本地?这篇教程手把手教会你

一、为什么要把DeepSeek部署到本地?新手必看的前置知识近期很多读者在后台询问AI工具本地部署的问题,今天以国产优质模型DeepSeek为例,手把手教你实现本地化部署。本地部署有三大优势:数据隐私...