我有一个值列表,比如说
13, 21, 33
24, 43, 80 and so on.
我正在尝试单独阅读每一行,然后记录每一行的日志,例如。
logy = log10(13, 21, 33)
在一个循环中,分别遍历每一行。
然后,我将日志值用作幂律拟合的 y 值。然后我得到每条线的拟合指数。
但是,我无法阅读这些行并通过循环单独获取它们的日志。关于我如何做到这一点的任何建议?我的行数很少。
到目前为止,我有 -
from numpy import log10
from scipy import optimize
from math import sqrt
x = [3.6, 4.5, 5.8, 8.0]
y809 =1.390275E-12,6.859800000000001E-13,3.901267241379311E-13,1.55844E-13
yy816 =2.4975E-12,1.2187800000000002E-12,6.510724137931035E-13,2.55119625E-13
logx = log10(x)
logy = log10(y809)
logyerr = 0.05
fitfunc = lambda p, x: p[0] + p[1] * x
errfunc = lambda p, x, y, err: (y - fitfunc(p, x)) / err
pinit = [1.0, -1.0]
out = optimize.leastsq(errfunc, pinit,
args=(logx, logy, logyerr), full_output=1)
pfinal = out[0]
covar = out[1]
print pfinal
print covar
index = pfinal[1]
amp = 10.0**pfinal[0]
indexErr = sqrt( covar[0][0] )
ampErr = sqrt( covar[1][1] ) * amp
如您所见,我还没有弄清楚如何阅读和记录每一行的日志。