1

いくつかのデータを補間し、結果を対数スケール(pyplot.loglog)でプロットしたいと思います。問題は、結果の補間が非常に奇妙に見え、対数スケールでプロットすると不連続性を示すことです。対数スケーリングされたデータを補間するための最良の方法は何ですか?

pyplot.loglog(x, y, '+')
pyplot.hold(True)
s = scipy.interpolate.InterpolatedUnivariateSpline(x, y)
xs = numpy.logspace(numpy.log10(numpy.min(x)), numpy.log10(numpy.max(x)))
pyplot.loglog(xs, s(xs)) # This looks very strange because of the log scale!

実際、データのログを補間することで成功しましたが、同じ結果を得るもっと簡単な方法があるのではないかと思いました。

pyplot.loglog(x, y, '+')
pyplot.hold(True)
s = scipy.interpolate.InterpolatedUnivariateSpline(numpy.log10(x), numpy.log10(y))
xs = numpy.logspace(numpy.log10(numpy.min(x)), numpy.log10(numpy.max(x)))
pyplot.loglog(xs, numpy.power(10, s(numpy.log10(xs)))
4

1 に答える 1

4

最初にデータの対数を取るように見えます。次に、フィッティングがこれを行う通常の方法です。べき法則分布のフィッティングを参照してください。

于 2012-05-10T15:04:28.690 に答える