Stackoverflow コミュニティの皆様
私はPythonとプログラミング全般に非常に慣れていないので、答えが得られなくても怒らずにもう一度質問してください.
scipy.optimization.curve_fit を使用して実験データに曲線を当てはめようとしています。これは私のコードです:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as nm
from __future__ import division
import cantera as ct
from matplotlib.backends.backend_pdf import PdfPages
import math as ma
import scipy.optimize as so
R = 8.314
T = nm.array([700, 900, 1100, 1300, 1400, 1500, 1600, 1700])
k = nm.array([289, 25695, 763059, 6358040, 14623536, 30098925, 56605969, 98832907])
def func(A, E, T):
return A*ma.exp(-E/(R*T))
popt, pcov = so.curve_fit(func, T, k)
今、このコードはうまくいきますが、関数を次のように変更すると:
def func(T, A, E)
そして、私が得る残りを保管してください:
TypeError: only length-1 arrays can be converted to Python scalars
また、最初のパラメーター ソリューションにはあまり納得できません。変数の順序を変更するとどうなるか教えてもらえますか?