我有一些图形图像,我想要合成原始(x,y)数据。我没有原始数据,只有图表。
理想情况下,我希望能够使用数学函数逼近曲线的形状,这样我就可以改变函数以产生略微不同的输出,这样我就可以获得简单的再现性。
第一张图显示了一组曲线:最近一段时间的平均温度异常,可追溯到现在的2万年前。第二幅图像显示了一个阶跃函数,其变化是在存在之前的10000年(对数刻度)。 (您还会注意到它们具有相反的x轴方向)。
对于其中每一项,我想要生成的最终数据是文本文件,每10年或100年具有温度异常值。
欢迎任何解决方案。
答案 0 :(得分:1)
我不确定我完全理解你的问题。但你可以尝试做的是将数据数字化(windig适用于windows并使用linux),然后在这些点之间进行一些数据插值。
几乎一直工作的平凡插值只是两个连续点之间的直线。更复杂的方法是三次样条(例如B样条http://en.wikipedia.org/wiki/B-spline),它保持二阶导数连续。
答案 1 :(得分:0)
我决定回答有关使用代数生成曲线的方法的一些细节。
对于周期型曲线,您可以使用正弦或余弦,并调整幅度和频率以匹配您的特定情况。例如,y = A sin(2x),其中幅度为A,周期与x的内部函数(括号内的位)相关。在gnuplot中试试这个:
A=2
f(x) = A*sin(2*x)
set xrange[-pi:pi]
plot f(x), sin(x), cos(x)
要在x变化时改变幅度,只需将x值的幂项或指数项加到幅度中:
f(x) = A*exp(0.5*x)*sin(2*x)
set xrange[-2*pi:2*pi]
plot f(x), sin(x)
# add an initial value (offset)
f(x) = 5+A*exp(0.5*x)*sin(2*x)
plot f(x), sin(x)
等等。