2017-03-04 3 views
0

最小自乗法を使って次のデータに収まる放物線の方程式を見つけると仮定します。次のコードの動作は明らかに間違った式です。これを行うには間違った関数を使用していますか?私の配列は(x、y)形式です。放物線データに合わせる

import numpy as np 

points = np.array ([(0.05, 0.957), (0.12, 0.851), (0.15, 0.832), (0.30, 0.720), 
(0.45, 0.583), (0.70, 0.378), (0.84, 0.295), (1.05, 0.156)]) 

x = points[:,0] 
y = points[:,1] 

a = np.polyfit(x, y, 2) 
b = np.poly1d(a) 
print(a) 
print (b) 

import matplotlib.pyplot as plt 
plt.plot(x,y) 
plt.plot(b) 
plt.show() 
+1

bはおそらくそれをxに適用したい呼び出し可能です –

答えて

1

フィッティングには正しい機能を使用しましたが、プロットには間違った機能を使用しました。放物線を評価するのを忘れた。 plt.plot(b)の代わりにplt.plot(x,b(x))を試してください。

関連する問題