问题标签 [cubic-spline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3074 浏览

r - 使用 R 将年度数据分解(插值)为季度数据

我的数据采用以下形式:

数据由年均值组成。假设变化是线性的,我想将数据转换为平均季度值。

我尝试使用library("tempdisagg"),但我无法让它工作。我还尝试了一些其他library("splines")的统计方法,但无济于事。也许是因为我错误地处理了日期和时间序列格式。

为了澄清,预期的输出看起来像这样:

任何帮助将非常感激。

0 投票
1 回答
410 浏览

python - SciPy 的 interp1d 端点

在 SciPy 的插值模块中有一个名为interp1d的函数。文档说它是样条插值:http ://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html但是我无法找到端点上的边界条件。例如,在三次样条的情况下,应该指定端点处的导数(或二阶导数)。interp1d 使用的值是什么?

0 投票
1 回答
917 浏览

python - 三次样条获得平滑的python线曲线

我需要使用三次样条在 python 中制作一条平滑线,我按照 scipy 教程进行操作,有点困惑。我使用了以下代码:

我的情节仍然没有顺利,也许我错过了一些东西,请帮我解决这个问题。我的绘图输出是这样的:

在此处输入图像描述

0 投票
0 回答
770 浏览

matlab - MatLab中外推的三次样条法

我试图预测正弦波形下一个时间步的值。为此,我使用了在此网页中找到的三次样条外推法。

以下是我使用的 Matlab 代码。

此代码适用于0<t<1(插值)。但是,为了推断,我必须使 t>1。当我输入 t=2 (这意味着我试图在下一个时间步找到值)时,波形不匹配。任何人都可以帮助我如何使用此代码进行推断。

0 投票
0 回答
628 浏览

numpy - 三次样条在 scipy 中不起作用?

我尝试插入一些由自定义函数生成的数据点。所有点都应该非常类似于正弦曲线。当我跑

有时它会失败(见附图)。对于这两种情况,我只是稍微更改了函数中的一个参数,生成的点只是略有变化。它们在散点图中看起来都表现得非常好,但插值曲线将从非常适合的曲线变为表现异常的曲线。任何想法为什么会这样?当我slinear那时它工作正常,但我希望三次样条具有更高的精度。

好的时候: 在此处输入图像描述 放大图: 在此处输入图像描述

不好的时候(生成的点由于函数参数的变化而略有不同) 在此处输入图像描述 放大图 在此处输入图像描述

0 投票
2 回答
6868 浏览

r - 使用 R 的自然三次样条回归

我似乎对splines::ns()R 中的函数有疑问。

我创建了一个简单的虚拟问题

虽然第一个模型工作正常,但第二个模型无法正确识别截距。我在这里想念什么?

0 投票
1 回答
1482 浏览

math - 样条法线计算

我在计算要从中挤出网格的样条线的法线时遇到问题。

检查图像:在此处输入图像描述 如您所见,某个区域的法线出现翻转,我不知道为什么。

相关代码:

这里的贝塞尔曲线方法:

我不知道为什么,或者如何解决它。我曾尝试使用像 Up 这样的参考向量但无济于事,我什至尝试在某些条件下否定法线(加速度和切线的点积 < -1)。

0 投票
1 回答
105 浏览

r - 确保样条回归中的节点放置在正确的位置

我有时间序列数据:

该对象ob是每小时时间序列对象。现在,我想对其进行样条回归。我想在早上 7 点和下午 4 点打结 以下语句是否R确保这一点

另外,我应该如何交叉检查是否在上述时间放置了结?

0 投票
1 回答
4140 浏览

octave - Octave中的三次样条实现

我的大胆主张是三次样条的 Octave 实现,与Wolfram 的 Mathworldinterp1(..., "spline")中概述的“自然三次样条”算法不同。我已经编写了自己的后者实现,并将其与函数的输出进行了比较,结果如下:interp1(..., "spline")

样条比较

我发现,当我尝试与 4 个点进行相同的比较时,解也不同,而且,Octave 解与将单个三次多项式拟合到所有四个点相同(实际上并没有为三个间隔生成分段样条) .

我还尝试深入了解 Octave 的样条曲线实现,发现它太迟钝,无法在 5 分钟内阅读和理解。

我知道在实现三次样条时可以选择一些边界条件选项(“自然”与“钳制”)。我的实现使用“自然”边界条件(其中两个外部点的二阶导数设置为零)。

如果Octave 的三次样条确实与标准三次样条不同,那么它到底是什么?

编辑:

上面的比较图中显示的两个解决方案的二阶差绘制在此处:

二阶有限差分

首先,在 Octave 的情况下似乎只有两个三次多项式:一个适合前两个区间,一个适合后两个区间。其次,它们显然没有使用“自然”样条曲线,因为极端的二阶导数不会趋于零。

此外,我认为我在中间(即第三个)点的实现的二阶差为零只是一个巧合,而不是算法所要求的。对一组不同的点重复此测试将确认/反驳这一点。

0 投票
0 回答
177 浏览

interpolation - MAPLE:三次样条插值代码错误

我正在编写代码以使用 -1 和 2 之间的 n+1 个等距插值点(取 n=6 和 n=10)计算三次样条插值,根据 f(x) 绘制图形并找到最大误差。尽管我不确定最大错误是否正确,但我没有收到 n=6 的代码错误。当我使用为 n=10 更改的相同代码时,它似乎不起作用。帮助将不胜感激。

这是我的代码:n=6。

这给出了最大错误 5.146099863

但是,当我更改为 n=10 时,在 'ClampedEqs@ op 之后,我得到了以前没有的“错误,不正确的操作或下标选择器”错误。