lmfit的Model对象的属性存在问题

时间:2014-09-16 18:47:05

标签: python python-2.7

我正在尝试使用lmfit将拟合数据曲线化到模型中,但每当我尝试使用模型的params属性(例如参数的设置值)做任何事情时,它都会告诉我它找不到它们。 我的程序很长,而且还有相当多的东西,所以我尝试运行示例doc_model1.py,可在此处找到http://cars9.uchicago.edu/software/python/lmfit/model.html

#doc_model1.py
#!/usr/bin/env python
#<examples/doc_model1.py>
from numpy import sqrt, pi, exp, linspace, loadtxt
from lmfit import  Model

import matplotlib.pyplot as plt

data = loadtxt('model1d_gauss.dat')
x = data[:, 0]
y = data[:, 1]

def gaussian(x, amp, cen, wid):
    "1-d gaussian: gaussian(x, amp, cen, wid)"
    return (amp/(sqrt(2*pi)*wid)) * exp(-(x-cen)**2 /(2*wid**2))
gmod = Model(gaussian)
result = gmod.fit(y, x=x, amp=5, cen=5, wid=1)

print(gmod.fit_report())
...

IDLE并没有反对程序试图做的任何事情,但是当我尝试在那之后做任何参数时,例如

for name, par in gmod.params.items():
    print(name, par)

gmod.params[’amp’].value = 10.0

(这些都是直接从文档中复制的)我得到了

AttributeError: 'Model' object has no attribute 'params'

同样,每当我尝试使用set_params做任何事情时,它都表示Model也没有该属性。模型的所有其他属性似乎都工作正常,为什么不参数? 我在运行Windows7的计算机上使用Python2.7

0 个答案:

没有答案