python lmfit 程序不是 运行
python lmfit program not running
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 import 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\uncertainties__init__.py",第 224 行,位于
从 .core 导入 *
文件 "C:\Users\MUHAMMAD ALI QURESHI\Anaconda3\lib\site-packages\uncertainties\core.py",第 2889 行
POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur'((\d*)(.\d*)?|nan|NAN|inf|INF)'
^
语法错误:语法无效
我认为您需要重新安装 uncertainties
。看起来您的代码使用的是 Python2
语法。
我相信 uncertainties
需要(自动)在安装时使用 2to3 tool
-- 看起来其中的某些部分对您不起作用。
应该可以做到:
C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties
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 import 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\uncertainties__init__.py",第 224 行,位于 从 .core 导入 *
文件 "C:\Users\MUHAMMAD ALI QURESHI\Anaconda3\lib\site-packages\uncertainties\core.py",第 2889 行 POSITIVE_DECIMAL_UNSIGNED_OR_NON_FINITE = ur'((\d*)(.\d*)?|nan|NAN|inf|INF)' ^ 语法错误:语法无效
我认为您需要重新安装 uncertainties
。看起来您的代码使用的是 Python2
语法。
我相信 uncertainties
需要(自动)在安装时使用 2to3 tool
-- 看起来其中的某些部分对您不起作用。
应该可以做到:
C:\.....\Anaconda3\Scripts\pip.exe install --force-reinstall uncertainties