私は値のリストを持っています
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
ご覧のとおり、各行のログを読み取って取得する方法がわかりません。