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

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

moboyou 2025-04-23 14:15 41 浏览

多元一次方程组

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

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

总结

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

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

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

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

相关推荐

黄道十二宫杀手密码51年后被破解,来自两位程序员和数学家合作

杨净边策发自凹非寺量子位报道|公众号QbitAI黄道十二宫杀手(ZodiacKiller)可能是世界上最知名的高智商连环杀手,52年来从未被抓获。他的事迹已被改编成了多部好莱坞电影。△...

深入剖析MediaCodec解码器的基本原理及使用「建议新手收藏」

一,MediaCodec工作原理MediaCodec类Android提供的用于访问低层多媒体编/解码器接口,它是Android低层多媒体架构的一部分,通常与MediaExtractor、MediaMu...

Retrofit WebService 实践

前言作为Android开发,平时和后端聊得最多的除了喝酒就是接口。常用语:Restful和WebService,前者现在聊得多,后者以前聊得多。默认含义分别为:Restful:HTTP协议...

建议收藏!175部4K UHD版本经典高分电影洗版参考目录(2015之前)

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:1L789近两年很多经典高分老电影陆续开始重制成4KUHD版本,虽然我早已将这些电影的BD蓝光版收入,但纠结一番后还是花了不少时间将其全部...

2 个月的面试亲身经历告诉大家,如何进入 BAT 等大厂?

这篇文章主要是从项目来讲的,所以,从以下几个方面展开。怎么介绍项目?怎么介绍项目难点与亮点?你负责的模块?怎么让面试官满意?怎么介绍项目?我在刚刚开始面试的时候,也遇到了这个问题,也是我第一个思考的问...

详解Android官推Kotlin-First的图片加载库

前言Coil是一个非常年轻的图片加载库,在2020年10月22日才发布了1.0.0版本,但却受到了Android官方的推广,在AndroidDevelopersBackst...

webview 渲染机制:硬件加速方式渲染的Android Web

webview渲染是什么?webview渲染是用于展现web页面的控件;webview可以内嵌在移动端,实现前端的混合式开发,大多数混合式开发框架都是基于webview模式进行二次开发的w...

因为我对Handler的了解,居然直接给我加了5K

1Handler是什么?android提供的线程切换工具类。主要的作用是通过handler实现从子线程切换回主线程进行ui刷新操作。1.1为什么Handler能实现线程切换?在创建Handler的...

「经典总结」一个View,从无到有会走的三个流程,你知道吗?

前言一个View,从无到有会走三个流程,也就是老生常谈的measure,layout,draw三流程我们都知道Android视图是由一层一层构成的层级结构,直白点说,就是父View包含子View而子V...

这些垃圾代码是谁写的?哦,原来小丑竟是我自己

程序员是最喜欢自嘲、自黑的群体之一,比如他们常常称自己是“码农”、“程序猿”,再比如他们的工作明明是写代码、修Bug,也有人调侃说:“明明我们是修代码、写Bug!”本文整理了一些程序员“修代码、写...

手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇

/1前言/平时我们要下载图片,要要一个一个点击下载是不是觉得很麻烦?那有没有更加简便的方法呢?答案是肯定的,这里我们以天堂网为例,批量下载天堂网的图片。/2项目准备工作/首先我们第一步我们要安装...

音视频开发需要你懂得 ffmpeg 开源库的编码原理

引言音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,vps,startcode以及基本的工作原理,...

「8年老 Android 开发」最全最新 Android 面试题系列全家桶(带答案)

下面跟大家分享的这些面试题都是互联网大厂真实流出的面试内容,每个问题都附带完整详细的答案,不像网上的那些资料三教九流有的甚至还没答案,这些面试题我也是经过日积月累才整理出来的精品资料。这些面试题主要是...

手把手教你爬取天堂网1920*1080大图片(批量下载)——实战篇

/1前言/上篇文章手把手教你爬取天堂网1920*1080大图片(批量下载)——理论篇我们谈及了天堂网站图片抓取的理论,这篇文章将针对上篇文章的未尽事宜进行完善,完成图片的批量抓取。/2图片网址解...

PHP 8.1.9 更新发布

CLI:修复了内置服务器通过PHP_CLI_server_WORKERS环境变量的潜在溢出。修正了GH-8952(不再可能有意关闭std句柄)。Core:修复了GH-8923的错误(Windows上的...