我想用以下数据拟合曲线,但出现错误:
ipython-input>:2: RuntimeWarning: overflow encountered in exp
Run Code Online (Sandbox Code Playgroud)
有谁知道这个问题的原因是什么?我用 Matlab 的不同数据类型拟合了这条曲线,效果很好。我使用了 Matlab 代码中的初始条件。两条曲线相同,但在这种情况下 y 轴的值要高得多。
import numpy as np
import scipy.optimize
#sympy.init_printing()
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
list_R1_fit = [
19.53218114920747, 42.52167990454083, 60.95540646861309,
70.10646960395906, 73.99897337091254, 75.36736639556727,
75.69578522881915, 75.62147077733012, 75.42605227692485,
75.21657113589387, 75.04519265636262, 74.94144261816007,
74.92153132015117, 74.99475606015201, 75.15746897265564
]
tau_list = [
0.052, 0.12, 0.252,
0.464, 0.792, 1.264,
1.928, 2.824, 4,
5.600, 7.795, 10.806,
14.928, 20.599, 28.000
]
array_R1_fit = np.asarray(list_R1_fit)
tau_array = np.asarray(tau_list)
plt.plot(tau_array, array_R1_fit, 'o')
def func_R1_fit( t, a0, …Run Code Online (Sandbox Code Playgroud)