私はラグランジュ補間を実装するはずの次のコードを持っています。このコードを実行すると、インデントエラーが発生します。これはどこから来たのか分かりません。誰も私がこのエラーの原因とそれを修正する潜在的な方法を説明するのを助けることができますか?次のPythonコードで何が問題になっていますか?
points =[(0,0),(25,30),(50,10), (57,0)]
P = lagrange(points, 10)
print (P)
def lagrange(f, x):
total = 0
n = len(f)
for i in xrange(n):
xi, yi = f[i]
def g(i, n):
g_tot = 1
for j in xrange(n):
if i == j:
continue
xj, yj = f[j]
g_tot *= (x - xj)/float(xi - xj)
return g_tot
total += yi * g(i, n)
return total
「インデントエラー」はインデントエラーを意味します。どのIDEを使用していますか? 'pycharm'を使用している場合は、' commad + option + L(mac) 'とタイプしてインデントエラーを避けるようにコードを再フォーマットしてください!また、 'lagrange'を呼び出す前に定義することを覚えておいてください! – nick
コードがタブとスペースの混在でインデントされていないか確認してください。そうであれば、どちらか一方を使用するように変更してください – khelwood