0

私はPythonで簡単な関数を作成しました:

def func(a,x):
  return a+x*2

それから私はそれを呼びます

x = [log(1),log(2),log(4),log(5),log(8)]
#Import y data from a file
free= curve_fit(func,np.array(x),np.array(y))[0][0]
yline = func(free,x)

結果ylineはの2倍の長さにxなり、各要素が2回含まれます。

どうしてこんなことに?

注: numpyをインポートしていますが、scipyやcurve_fitはインポートしていません

4

1 に答える 1

5

xはリストであり、その中funcで「2 倍」になります (つまり、その要素の数が 2 倍になります)。

2 で乗算する (つまり、各要素を乗算する) 場合は、np.array最初に変換します。

x = [log(1),log(2),log(4),log(5),log(8)]
#Import y data from a file
free= curve_fit(func,np.array(x),np.array(y))[0][0]
yline = func(free, np.array(x))
于 2012-09-06T13:17:35.827 に答える