亲爱的 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
我也不是很相信第一个参数解决方案。谁能告诉我更改变量顺序时会发生什么?