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



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

我发现我的错误是矩阵中的顺序

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]

最新更新