Программа Python lmfit не работает - PullRequest
1 голос
/ 09 марта 2019
import matplotlib.pyplot as plt
import numpy as np

from lmfit.model import load_model


def mysine(x, amp, freq, shift):
    return amp * np.sin(x*freq + shift)



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

model = load_model('sinemodel.sav', funcdefs={'mysine': mysine})
params = model.make_params(amp=3, freq=0.52, shift=0)
params['shift'].max = 1
params['shift'].min = -1
params['amp'].min = 0.0

result = model.fit(y, params, x=x)
print(result.fit_report())

plt.plot(x, y, 'bo')
plt.plot(x, result.best_fit, 'r-')
plt.show()

Traceback (последний последний вызов):

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ IPython \ core \ interactiveshell.py", строка 2910, в run_code exec (code_obj, self.user_global_ns, self.user_ns)

Файл "", строка 4, в из lmfit.model import load_model

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit__init __. Py", строка 39, в из .confidence import conf_interval, conf_interval2d

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit \ trust.py", строка 10, в из .minimizer import MinimizerException

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit \ minimizer.py", строка 34, в неопределенности импорта

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ неопределенности__init __. Py", строка 224, в из .core import *

Файл "C: \ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ неопределенности \ core.py", строка 2889 POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur '((\ d *) (. \ D *)? | Nan | NAN | inf | INF)' ^ Ошибка синтаксиса: неверный синтаксис

1 Ответ

0 голосов
/ 10 марта 2019

Я думаю, вам нужно переустановить uncertainties. Похоже, ваш код использует синтаксис Python2.

Я считаю, что uncertainties необходимо (автоматически) использовать 2to3 tool при установке - похоже, что часть этого не сработала для вас.

Это должно работать, чтобы сделать:

C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties
...