我已经编写了这段代码,我认为这不是正确答案。有人可以帮我发现我的错误吗? 我正在尝试求解多项式方程以找到常数 是的 W - Wr = a(W - 1)+ b(W - 1)^ 2 + c(W - 1)^ 3
我的代码是
WrRSnFP = 1.89279768
WrRZnFP = 2.56891730
WrRAlFP = 3.37600860
WT90SnFP = 1.8925821
WT90ZnFP = 2.5685184
WT90AlFP = 3.3753692
deviationSnFP = WT90SnFP - WrRSnFP
deviationZnFP = WT90ZnFP - WrRZnFP
deviationAlFP = WT90AlFP - WrRAlFP
x1 = WT90SnFP - 1
x2 = x1**2
x3 = x1**3
y1 = WT90ZnFP - 1
y2 = y1**2
y3 = y1**3
z1 = WT90AlFP - 1
z2 = z1**2
z3 = z1**3
deviation = np.array([[x1,y1,z1],[x2,y2,z2],[x3,y3,z3]])
deviationFunctions = np.array([deviationSnFP,deviationZnFP,deviationAlFP])
constant = np.linalg.solve(deviation, deviationFunctions)
print constant
我得到的结果是
[1.45993095e-04 -2.42110386e-04 1.42562145e-05]
在另一个程序EXCEL中常数不同 比如
[-2.2415485E-04 -1.9763300E-05 3.4041874E-07]
答案 0 :(得分:0)
我发现我的错误是矩阵中的顺序
deviation = np.array([[x1,y1,z1],[x2,y2,z2],[x3,y3,z3]])
应该是这样的
deviation = np.array([[x1,x2,x3],[y1,y2,y3],[z1,z2,z3]])
deviationFunctions = np.array([deviationSnFP,deviationZnFP,deviationAlFP])
constant = np.linalg.solve(deviation, deviationFunctions)
print constant
我会得到与excel给我相同的答案。
[-2.24154846e-04 -1.97632998e-05 3.40418736e-07]