用Python解决5个线性方程组

时间:2012-06-01 02:05:46

标签: python equation-solving

我尝试过使用矩阵,但它失败了。我看过外部模块和外部程序,但没有一个有效。如果有人可以分享一些有用的提示或代码,谢谢。

3 个答案:

答案 0 :(得分:5)

当你说矩阵方法不起作用时,我不确定你的意思。这是解决这些类型问题的标准方法。

从线性代数的角度来看,求解5个线性方程是微不足道的。它可以使用任何数量的方法来解决。您可以使用Gaussian elimination,找到inverseCramer's rule

如果你很懒,你总是可以求助于图书馆。 SympyNumpy都可以轻松解决线性方程式。

答案 1 :(得分:5)

import numpy
import scipy.linalg

m = numpy.matrix([
    [1, 1, 1, 1, 1],
    [16, 8, 4, 2, 1],
    [81, 27, 9, 3, 1],
    [256, 64, 16, 4, 1],
    [625, 125, 25, 5, 1]
])

res = numpy.matrix([[1],[2],[3],[4],[8]])

print scipy.linalg.solve(m, res)

返回

[[ 0.125]
 [-1.25 ]
 [ 4.375]
 [-5.25 ]
 [ 3.   ]]

(a,b,c,d,e的解系数)

答案 2 :(得分:0)

也许你是以错误的方式使用矩阵。

矩阵就像列表中的列表一样。

[[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1],[1,1,1,1,1,1]]

上述代码会创建一个列表,您可以像交换轴一样访问mylist[y][x]