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()
回溯(最近通话最近一次):
文件“ 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导入load_model
文件“ C:\ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit__init __。py”,第39行,在 从.confidence导入conf_interval,conf_interval2d
文件“ C:\ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit \ confidence.py”,第10行,在 从.minimizer导入MinimizerException
文件“ C:\ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ lmfit \ minimizer.py”,第34行,在 进口不确定性
文件“ C:\ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ unertainties__init __。py”,第224行,在 来自.core import *
文件“ C:\ Users \ MUHAMMAD ALI QURESHI \ Anaconda3 \ lib \ site-packages \ unertainties \ core.py”,第2889行 POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur'(((\ d *)(。\ d *)?| nan | NAN | inf | INF)' ^ SyntaxError:语法无效
答案 0 :(得分:0)
我认为您需要重新安装uncertainties
。您所拥有的代码似乎正在使用Python2
语法。
我认为uncertainties
在安装时需要(自动)使用2to3 tool
,似乎其中的某些部分对您不起作用。
应该可以做到:
C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties