嗨,我的问题是,我的数据集是单调增长的,但在数据的末尾,它看起来像下面这样,其中一些x[i-1] = x[i]如下所示。这会导致GSL中出现错误,因为GSL认为值不是单调递增的。这个问题有没有解决、解决或解决的办法?
这些值已经是双精度的,这个特定的数据集从9.86553e-06开始,到.999999结束
唯一的解决方案是偏移for循环中的每个值吗?

0.999981
0.999981
0.999981
0.999982
0.999982
0.999983
0.999983
0.999983
0.999984
0.999984
0.999985
0.999985
0.999985

最佳答案

我也有类似的问题。我用一个简单的条件运算符(if语句)删除了重复项,这并没有影响最终结果(由MatLab检查)。不过,这可能有点问题。

关于c++ - GSL内插错误,值必须为x值必须单调递增,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12479644/

10-11 01:02