有关于x,y的两组数据,用python拟合曲线求a,b
1条回答 默认 最新
关注scipy提供了多种拟合方法,针对楼主的需求,可以使用optimize.curve_fit函数。下面以a=5,b=3为例,在[1,5]区间内模拟了一组数据(使用随机函数扰动),然后调用optimize.curve_fit函数拟合,得到的函数系数非常接近a=5,b=3
>>> import numpy as np >>> from scipy import optimize >>> x = np.linspace(1, 5, 100) >>> y = 5 * np.power(x, 3) + 0.2 * np.random.random(100) >>> def f(x, a, b): return a * np.power(x, b) >>> fita, fitb = optimize.curve_fit(f, x, y, (1,1)) >>> fita array([5.01150334, 2.99865191])本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报