Python/numpy を使用しているときに多項式の結果について質問がありました。先行係数がかなり小さい多項式を使用して関数を定義しました。以下は私のコードと方程式です:
import matplotlib.pyplot as plt
import numpy as np
def myfunction(X):
return 9.06043895*10**(-9)*X**6-1.67073053*10**(-6)*X**5 + \
7.49688511*10**(-5)*X**4 + 7.97984114*10**(-4)*X**3 - \
6.07927087*10**(-2)*X**2 - 0.415861627*X + 80.62563
Input = np.arange(0, 100, 1)
Output = myfunction(Input)
plt.plot(Input, Output)
これにより、次のプロットが得られます。
エラーは、配列自体がオフになっているため、結果の Y が計算される方法にあるようです。(値はプロットと一致しますが、正しいです)
WolframAlpha を使用してプロットされたまったく同じ方程式のサンプル: (上記のリテラル コピー/貼り付けから \ と戻り値を引いたもの)
この問題に光を当てるのを手伝ってくれる人はいますか?
関数の処理中に切り捨てが発生する可能性があると感じていますが、この方程式はそれほど悪くはないと感じています...
お時間をいただき、ありがとうございました。