【发布时间】:2015-11-29 09:18:26
【问题描述】:
我尝试使用 numpy 求解矩阵求逆,但无法正常工作。 Python代码如下所示:
import copy
import numpy as np
from numpy.linalg import *
K=[[0.13535533905932737, -0.03535533905932737, 0.0, 0.0, -0.1],
[-0.03535533905932737, 0.13535533905932737, 0.0, -0.1, 0.0],
[0.0, 0.0, 0.13535533905932737, 0.03535533905932737, -0.03535533905932737],
[0.0, -0.1, 0.03535533905932737, 0.13535533905932737, -0.03535533905932737],
[-0.1, 0.0, -0.03535533905932737, -0.03535533905932737, 0.13535533905932737]]
newK = np.array(K)
newK = inv(newK)
结果显示为:
[[ -2.74615429e+16 -2.74615429e+16 1.89368970e+00 -2.74615429e+16
-2.74615429e+16]
[ -2.74615429e+16 -2.74615429e+16 -1.37357926e+00 -2.74615429e+16
-2.74615429e+16]
[ 9.23495156e-01 -1.84699031e+00 8.84484598e+00 -3.69398063e+00
1.84699031e+00]
[ -2.74615429e+16 -2.74615429e+16 -2.52873329e+00 -2.74615429e+16
-2.74615429e+16]
[ -2.74615429e+16 -2.74615429e+16 3.04884372e+00 -2.74615429e+16
-2.74615429e+16]]
我也尝试使用 MATLAB 来检查这个值,但结果是:
a =
0.1340 -0.0350 0 0 -0.1000
-0.0350 0.1350 0 -0.1000 0
0 0 0.1350 0.0350 -0.0350
0 -0.1000 0.0350 0.1350 -0.0350
-0.1000 0 -0.0350 -0.0350 0.1350
>> inv(a)
ans =
1.0e+03 *
-1.0000 -1.0000 0.0000 -1.0000 -1.0000
-1.0000 -0.9808 -0.0033 -0.9841 -0.9967
0.0000 -0.0033 0.0089 -0.0044 0.0011
-1.0000 -0.9841 -0.0044 -0.9785 -0.9956
-1.0000 -0.9967 0.0011 -0.9956 -0.9911
有人可以帮我解决这个问题吗?
【问题讨论】:
-
你反转矩阵的
numpy代码在哪里? -
抱歉这个错误。我已经编辑过了。
标签: python matlab numpy matrix linear-algebra