例如已经建立方程组:
2a + b + c = 4
a + 3b + 2c = 5
a = 6
我们可以得到:

问题转化成Ax = B
求解矩阵x

使用Python的Numpy模块进行求解

import numpy

A = numpy.array([[2,1,1],
                [1,3,2],
                [1,0,0]])
B = numpy.array([[4],[5],[6]])

print(numpy.linalg.solve(A,B))

输出:

[[ 6.]
 [ 15.]
 [-23.]]

查看solve的详细说明:

>>> import numpy
>>> help(numpy.linalg.solve)

使用mathematica进行运算

先求解A的逆矩阵,然后求解逆矩阵和B的矩阵乘法结果

In[1]:= A = {{2, 1, 1}, {1, 3, 2}, {1, 0, 0}}
Inverse[A]

Out[2]= {{0, 0, 1}, {-2, 1, 3}, {3, -1, -5}}

In[12]:= AT = {{0, 0, 1}, {-2, 1, 3}, {3, -1, -5}}
B = {{4}, {5}, {6}}
Dot[AT, B]

Out[14]= {{6}, {15}, {-23}}

分类: Mathpythontool

发表评论

电子邮件地址不会被公开。 必填项已用*标注