拟合半对数刻度并将其恢复正常?

时间:2015-09-28 15:33:18

标签: python fft ifft

我正在使用IFFT并且具有一组具有各自频率(x轴)的实数和虚数值。频率不是等距的,我不能使用离散的IFFT,我无法正确拟合我的数据,因为这些值在开始时是如此的跳跃。所以我的计划是"伸展"我的频率数据指向lg-scale,适合它们(使用polyfit)然后以某种方式返回到正常比例。

f = data[0:27,0]  #x-values
re = daten[0:27,5] #y-values

lgf = p.log10(f)
polylog_re = p.poly1d(p.polyfit(lgf, re, 6))

拟合效果肯定更好(http://imgur.com/btmC3P0),但是有可能将我的多项式转换回正常的x缩放吗?现在我使用那些对数适合我的IFFT,并将log10我的变换值用于绘图等,但这可能会违反所有数学逻辑并导致错误。

1 个答案:

答案 0 :(得分:0)

您的拟合完全有效,但不是常规多项式拟合。通过使用log_10(x),您可以使用另一个模型函数。像y(x)=sum(a_i * 10^(x_i^i)这样的东西。如果这对你没问题,你就完成了。当你不想做更多的数学时,我会建议使用自然对数而不是基数为10的那个。