求解多项式方程以找到常数,我的结果是否正确?

时间:2017-01-17 17:01:42

标签: python polynomials

我已经编写了这段代码,我认为这不是正确答案。有人可以帮我发现我的错误吗? 我正在尝试求解多项式方程以找到常数 是的 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]

1 个答案:

答案 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]