问题标签 [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 投票
1 回答
473 浏览

python-3.x - 插值函数卷积的数值积分

我有 x 和 y 数据点数组,用于创建插值函数func_spline,如下所示。

代码成功地进行了集成但是我想修改代码以允许表单的集成

我在积分中卷积f1的任何函数(函数ktsq和其他不参与积分的变量)在哪里alphasinterp。例如,对于特定的f1我得到错误

TypeError: unsupported operand type(s) for *: 'function' and 'FunctionClass'

如何解决?谢谢!(从代码中可以看出,y 数组包含大约 21000 个点,因此在这里复制和粘贴我的数据可能是不允许或不可取的。我很高兴上传包含数据的文本文件 'Yvalues.txt' 但我还没有办法做到这一点)

0 投票
2 回答
235 浏览

python - 细化/最小化三次样条控制点(“自动平滑”)

简写

给定一组离散的 [x, y] 点,你能否推导出一个逼近 [x, y] 点并满足两个约束条件的连续函数:

  • 它满足给定的(最大)均方误差。
  • 它最大限度地减少了控制点的数量。

?

细节

这确实是一个嵌入式系统问题,但让我解释一下。我需要连接一个可以设计得更好的模拟硬件。但是——像往常一样——纠正硬件缺陷是嵌入式系统工程师的责任。

因此,我需要为以下函数制定一个准确的模型: 占空比与回路电流

蓝点取自实际测量,红线是 scipy 在点之间的三次插值。

问题在于,由此产生的 82 多个控制点创建了太多的数据,无法填充到客户端极小的微控制器中。(我正在显示整个数据集的一个子集。)

所以我的问题是:如何最大限度地减少样条控制点的数量并保持在某个给定的 MSE 范围内?

对于有动机的

这是上图中使用的一组 x 和 y 点。

ps

请注意,我并不特别喜欢三次样条曲线。我愿意接受任何紧凑的表示来近似 [x, y] 函数,该函数在微控制器上扩展的计算成本并不高。

0 投票
1 回答
655 浏览

gnuplot - 如何在 Gnuplot 中使用从右到左的 x 轴在绘图上显示“平滑的 csplines”曲线

我有这个简单的自包含 gnuplot 脚本:

输出中的点和csplines曲线都显示得很好:

gnuplot 输出 1

但是现在观察当我通过将xrange线更改为来反转 x 轴方向时会发生什么:

其他一切都保持不变,csplines现在输出中缺少曲线,而点仍然正确显示:

在此处输入图像描述

如何csplines在第二种情况下显示曲线?
(即从右到左的轴。)

0 投票
0 回答
138 浏览

c++ - 使用三次样条计算点中的函数

我正在尝试使用三次样条计算一个点中的函数。

这是我的代码:

我希望(x-2)*8函数在 2 点的结果是0,但我得到的是-16

如果有人知道,请告诉我这里出了什么问题。如果有人知道,请告诉我这里出了什么问题。如果有人知道,请告诉我这里出了什么问题。如果有人知道,请告诉我哪里出了问题在这里。如果有人知道,请告诉我这里出了什么问题。如果有人知道,请告诉我这里出了什么问题。

实际上我从这里拿了代码。它仅用于学习目的。

0 投票
1 回答
909 浏览

plot - 如何在 GAM 中可视化自然三次样条 (ns)

按照上面的代码,我可以得到这样的图:在此处输入图像描述

现在,我想使用 GAM 中的 ns() 函数得到一个类似的图:

但是当我在 R 中运行代码时,它显示“没有要绘制的术语”,所以我想知道如何绘制这张图片?谢谢!

0 投票
1 回答
87 浏览

c - 如何精确计算双精度型数据以解决 C 中的三次样条插值?

这是我在 Visual Studio 2017 环境中编写的部分源代码。给定全局初始化数组 x,y 数据。我必须对这些数据进行三次样条插值。但是在执行之后,样条结果在给定点上的结果几乎没有什么不同。我认为样条和 TDMA 函数没有逻辑问题。也许这些问题来自存储无理数。你们能解释一下为什么会发生这个错误以及如何修复代码吗?

0 投票
1 回答
203 浏览

python - Python三次样条奇怪地插值

我正在尝试使用三次样条进行插值,但插值在数据点周围波动很大。我不知道如何解决这个问题。任何建议将不胜感激。

在此处输入图像描述

正负部分是因为数据在中点改变方向。

在此处输入图像描述

0 投票
1 回答
180 浏览

c - GSL:样条线之间共享加速器

我正在使用GSL进行很多三次样条插值。假设我有三个自变量和a,它们都在相同的物理数据点上制表(它可能是以米、英尺和英里为单位测量的同一组位置),以及两个因变量和,都在相同的点上制表。也就是说,函数、 、 、和的数据被制成表格。我现在为这些函数制作 6 个三次样条,如下所示的样条:bcyzy(a)y(b)y(c)z(a)z(b)z(c)y(a)

其中sizeay数组的大小(所有六个数组的大小相同)。

我的问题:我真的需要为每个样条曲线单独的加速器吗?这种方式是否更快,跨多个样条线共享加速器是否安全?

0 投票
1 回答
60 浏览

matlab - 插值 - 谁能更好地解释它?

在此处输入图像描述

vq3 = 使用“立方”方法的网格数据插值(矩阵 21x21)

vq = 插值(矩阵 21x21)

我不明白j,j是什么?

0 投票
0 回答
767 浏览

python - 使用三次样条进行插值的运行时警告

我必须开发一个数据窥探功能,在其中我将我的数据集(在 pandas 数据框中)分成更小的部分,并在那里插入一个三次样条曲线(在我的例子中是 Z 值)。为此,我使用了 interpolate.interp2d函数scipyThen 我从估计的高度值中减去给定的高度值以获得残差,在这里我可以应用 3 sigma 阈值并删除具有最高异常值的行。

为了更好地理解这里是我的数据集与异常值的 3D 图: 在此处输入图像描述

但是当我运行我的代码时,我收到以下警告:

这是我创建的代码:

我用于 sigme_size 3 和 step_size = 50 有足够的数据点用于样条计算。除了消除数据点之外,使用该函数后异常值仍然存在。

有人知道如何解决这个问题吗?

非常感谢!