做对数函数的拟合(以a为底),用np.log(x,a), 会报错为
TypeError: return arrays must be of ArrayType,这种情况需要如何修改。
import math
import numpy as np
import pandas as pd
x=[1970,1971,1972,1973,1974,1975,1976,1977,1978,1979]
y=[8.2992,8.5229,8.7177,8.9211,9.0859,9.242,9.3717,9.4974,9.6259,9.7542 ]
def residuals(p):
b,a=p
return y-(b+np.log(x,a))
r=optimize.leastsq(residuals,[1,0])
a,b=r[0]
print("a=",a,"b=",b)
https://blog.csdn.net/weixin_30628077/article/details/96717467