本文摘自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 求解非线性方程组
阅读剩余部分
相关阅读 >>
Python类的继承是什么?类的继承有什么样的规则?
Python做出新闻聚合项目
Python和java学哪个
Python中zip是什么函数
Python大神用的9个实用技巧分享给你
总结关于Python中的中文编码问题
认识Python对象自省机制
怎么获得一个字符串的子串
Python创建数值列表的方法
Python实现对指定输入的字符串逆序输出的方法
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python如何解方程的三种方法