本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。
python求解方程组的三种方法:相关推荐:《python视频》

Numpy求解方程组
当然我们可以手动写出解析解,然后写一个函数来求解,这实际上只是用 Python 来单纯做“数值计算”. 但实际上,numpy.linalg.solve 可以直接求解线性方程组.
一般地,我们设解线性方程组形如 Ax=b,其中 A 是系数矩阵,b 是一维(n 维也可以,这个下面会提到),x 是未知变量. 再拿上面地最简单的二元一次方程组为例,我们用 numpy.linalg.solve 可以这样写:
1 2 3 4 5 6 7 8 | In [1]: import numpy as np
...: A = np.mat( '1,2; 4,5' ) # 构造系数矩阵 A
...: b = np.mat( '3,6' ).T # 构造转置矩阵 b (这里必须为列向量)
...: r = np.linalg.solve(A,b) # 调用 solve 函数求解
...: print r
...:
Out[1]: [[-1.]
[ 2.]]
|
那么前面提到的“ n 维”情形是什么呢?实际上就是同时求解多组形式相同的二元一次方程组,例如我们想同时求解这样两组:
和
就可以这样写:
1 2 3 4 5 6 7 8 9 | In [2]: import numpy as np
...: A = np.mat( '1,2; 4,5' ) # 构造系数矩阵 A
...: b = np. array ([[3,6], [7,8]]).T # 构造转置矩阵 b (这里必须为列向量),
...: 注意这里用的是 array
...: r = np.linalg.solve(A,b) # 调用 solve 函数求解
...: print r
...:
Out[2]: [[-1. -6.33333333]
[ 2. 6.66666667]]
|
SciPy 求解非线性方程组
阅读剩余部分
相关阅读 >>
map在Python中什么意思
Python怎么创建模块
Python文件操作的介绍(代码示例)
Python中的数怎么实现逆序
Python爬虫任务接单渠道
Python中time模块求程序运行时间的方法实例分享
Python怎么处理dataframe的时间字段
Python之xpath语法
Python字典改变键值对的方法
Python如何做词云
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python如何解方程的三种方法