python线性方程组求解_用Python的Numpy求解线性方程组
原文链接:拓端数据科技 / Welcome to tecdattecdat.cn
在本文中,您将看到如何使用Python的Numpy库解决线性方程组。
什么是线性方程组?
维基百科将线性方程组定义为:在数学中,线性方程组(或线性系统)是两个或多个涉及同一组变量的线性方程的集合。
解决线性方程组的最终目标是找到未知变量的值。这是带有两个未知变量的线性方程组的示例,x并且y:
等式1:4x + 3y = 20
-5x + 9y = 26
为了解决上述线性方程组,我们需要找到x和y变量的值。解决此类系统的方法有多种,例如消除变量,克莱默规则,行缩减技术和矩阵解决方案。在本文中,我们将介绍矩阵解决方案。
在矩阵解中,要求解的线性方程组以矩阵形式表示AX = B。例如,我们可以用矩阵形式表示等式1,如下所示:A = [[ 4 3]
[-5 9]]
X = [[x]
[y]]
B = [[20]
[26]]
要查找的值x和y变量方程1,我们需要找到在矩阵中的值X。为此,我们可以采用矩阵逆的点积A和矩阵B,如下所示:
X = inverse(A).B
用numpy求解线性方程组
要求解线性方程组,我们需要执行两个操作:矩阵求逆和矩阵点积。Python的Numpy库支持这两种操作。如果尚未安装Numpy库,则可以使用以下pip命令:
$ pip install numpy
现在让我们看看如何使用Numpy库解决线性方程组。
使用inv()和dot()方法
首先,我们将找到A在上一节中定义的矩阵逆。
首先让我们A在Python中创建矩阵。要创建矩阵,array可以使用Numpy模块的方法。矩阵可以视为列表列表,其中每个列表代表一行。
在以下脚本中,我们创建一个名为的列表m_list,其中进一步包含两个列表:[4,3]和[-5,9]。这些列表是矩阵中的两行A。要A使用Numpy 创建矩阵,请将m_list传递给array方法,如下所示:
import numpy as np
m_list = [[4, 3], [-5, 9]]
A = np.array(m_list)
为了找到矩阵的逆,将矩阵传递给linalg.inv()Numpy模块的方法:inv_A = np.linalg.inv(A)
print(inv_A)
下一步是找出矩阵的逆矩阵之间的点积A和矩阵B。重要的是要提一下,只有在矩阵的内部尺寸相等的情况下,才可能在矩阵之间获得矩阵点积,即,左矩阵的列数必须与右矩阵的行数匹配。
要使用Numpy库查找点积,请使用该linalg.dot()函数。B = np.array([20, 26])
X = np.linalg.inv(A).dot(B)
print(X)
输出:
[2. 4.]
这里,2和4是未知的各个值x和y在等式1。验证一下,如果在方程式中插入2未知数x并4替换未知数,您将看到结果为20。y4x + 3y
现在,让我们解决由三个线性方程组成的系统,如下所示:4x + 3y + 2z = 25
-2x + 2y + 3z = -10
3x -5y + 2z = -4
可以使用Numpy库按以下方式求解以上方程式:
公式2:print(X)
在上面的脚本中,linalg.inv()和linalg.dot()方法链接在一起。该变量X包含方程式2的解,并打印如下:
[ 5. 3. -2.]
未知数x,,y和的值分别是5、3 z和-2。您可以将这些值代入公式2并验证其正确性。
使用solve()方法
在前两个示例中,我们使用linalg.inv()和linalg.dot()方法来找到方程组的解。但是,Numpy库包含该linalg.solve()方法,该方法可用于直接找到线性方程组的解:print(X2)
输出:
[ 5. 3. -2.]
您可以看到输出与以前相同。
一个真实的例子
让我们看看如何使用线性方程组来解决实际问题。
假设有一个卖水果的人一天就卖出了20个芒果和10个橘子,总价为350元。第二天,他以500元的价格出售了17个芒果和22个橙子。如果这两天的水果价格都保持不变,那么一个芒果和一个橙子的价格是多少?
使用两个线性方程组可以轻松解决此问题。
假设一个芒果x的价格为,一个橙子的价格为y。上面的问题可以这样转换:20x + 10y = 350
17x + 22y = 500
上面的方程组的解决方案如下所示:X = np.linalg.solve(A,B)
print(X)
这是输出:
[10. 15.]
输出显示,一个芒果的价格为10元,一个橙子的价格为15元。
结论
本文介绍了如何使用Python的Numpy库解决线性方程组。您可以链式使用linalg.inv()和linalg.dot()方法来求解线性方程组,也可以简单地使用该solve()方法。该solve()方法是首选方法。
python线性方程组求解_用Python的Numpy求解线性方程组相关推荐
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python解矩阵方程_用Python代写的Numpy求解线性方程组
在本文中,您将看到如何使用Python的Numpy库解决线性方程组. 什么是线性方程组? 维基百科将线性方程组定义为: 在数学中,线性方程组(或线性系统)是两个或多个涉及同一组变量的线性方程的集合. ...
- 用python解矩阵方程_用Python的Numpy求解线性方程组
原文链接:拓端数据科技 / Welcome to tecdattecdat.cn 在本文中,您将看到如何使用Python的Numpy库解决线性方程组. 什么是线性方程组? 维基百科将线性方程组定义为 ...
- python没有模块_关于python如果没有numpy模块如何处理
1.在python中,你在python的shell输入>>>import numpy 但是编译器告诉你没有numpy库,这时候你就要导入python库,那么如何导入呢 2.收下访问h ...
- python集群_使用Python集群文档
python集群 Natural Language Processing has made huge advancements in the last years. Currently, variou ...
- python机器学习预测_使用Python和机器学习预测未来的股市趋势
python机器学习预测 Note from Towards Data Science's editors: While we allow independent authors to publish ...
- python 线性规划问题_使用Python进行线性规划示例
运筹学 运筹学是一种科学的决策方法,它通常是在需要分配稀缺资源的条件下,寻求系统的最佳设计.科学的决策方法需要使用一个或多个数学模型(优化模型)来做出最优决策. 优化模型试图在满足给定约束的决策变量的 ...
- 使用python预测基金_使用python先知3 1创建预测
使用python预测基金 This tutorial was created to democratize data science for business users (i.e., minimiz ...
- python 微积分 函数_用Python学微积分(2)---复合函数
函数的复合(Composition) 定义:设函数y=f(u)和u=g(x)u=g(x),则函数y=f[g(x)]称为由y=f(u)和u=g(x)复合而成的复合函数,其中函数y=f(u)常常称为外函数 ...
最新文章
- 2022-2028年中国手机支付市场投资分析及前景预测报告
- Android 中设置只是程序第一次运行才显示的界面
- findcontours 崩溃
- 数学建模大赛赛题解析:Mathorcup高校数学建模挑战赛-基于收得率预测模型的转炉炼钢的成本优化
- Qt|C++-最简单的OpenGL(变颜色的三角形)
- 用Python实现跳一跳自动跳跃。
- 两个数据表同步的触发器
- 生命游戏(康威的生命游戏) Game Of Life - Conway Cocos Creator 3.x版实现
- matlab plot3 宽度,matlab设置plot图像尺寸大小、坐标轴等
- 纯JS实现在前端制作GIF表情包的网站
- 「Spark从入门到精通系列」4.Spark SQL和DataFrames:内置数据源简介
- Unity3D-设置天空盒
- 合唱队形(动态规划)
- 绿联扩展坞拆解_拆解报告:UGREEN绿联2A1C三口多功能拓展坞
- Cocos Creator 3D 粒子系统初战(一),不要钱的酷炫火焰拿走不谢!
- STL容器系列文章:array容器
- 【测控电路】ADDA转换电路
- “我辞退了一位学位学历造假的程序员”
- 哪家手机车牌识别软件好
- 微博爬虫及舆情分析-2.用户分析
热门文章
- 合肥盛荣乒乓球俱乐部学习感悟
- 微信支付-此商家的收款功能已被限制,暂无法支付(解决方案)
- 上海交大ACM班俞勇团队出新书了!
- 自动化测试如何计算ROI
- MULTIPLE SPRING BOOT RUN CONFIGURATIONS WERE DETECTED. RUN DASHBOARD ALLOWS TO【已解决】
- python多线程爬取美图录网站图集按模特姓名存储到本地(二)
- 【摘抄】领导力21法则-约翰·C·马克斯韦尔
- weui表单添加功能_万能表单小程序 weui V8.1.16 weiqing功能模块 支持PC端管理 + 微信端管理 目前最强大的表单系统 weiqing微赞通用功能模块...
- Mysql中使用逗号隔开多张表生成的表实例
- 绘制3d散点图报错ax = fig.gca(projection = ‘3d‘)TypeError: gca() got an unexpected keyword argument