问题标签 [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 回答
571 浏览

python - 三次样条插值仅产生 nans 或引发错误

我正在尝试从每季度到每月对数据框进行下采样。

这会引发 TypeError:

如果我跳过这一行:

然后它只会产生nans

0 投票
1 回答
140 浏览

matlab - 三次样条 MATLAB 错误结果

我制作了 Clamped Cubic Spline 代码。但是当我把

并通过结果得到答案sym2poly(f_(1)) 与​​我的讲义完全不同。实际上,我的三次样条结果甚至与界的素数不匹配......请我不明白我的代码中有什么问题。这是我用于我的算法的。 来自数值分析教科书。

0 投票
1 回答
578 浏览

python-3.x - Scipy插值三次样条边界

我在使用 scipy.interpolate.CubicSpline 函数时遇到问题。这是我的代码:

结果:CS1 =

有负值,我觉得很奇怪,因为原始数据只是正值:

而T只是一个从1到48一个接一个的列表(48是A和T的长度)我觉得问题出在边界问题上但问题只是在开始……

在此处输入图像描述

有任何想法吗 ?

0 投票
1 回答
1665 浏览

c# - 从曲线c#中提取点坐标(x,y)

我有一条曲线,我使用方法 graphics.drawcurve(pen, points,tension) 在 c# 中的图片框上绘制

无论如何我可以提取曲线覆盖的所有点(x,y坐标)吗?并将它们保存到数组或列表中,或者任何东西都会很棒,所以我可以在不同的东西中使用它们。

我的代码:

提前谢谢了。

0 投票
0 回答
240 浏览

bezier - 将 3 次立方 Nurbs 曲线转换为 Catmull-Rom?

有没有办法将 3 次三次 Nurbs 曲线转换为 Catmull-Rom 曲线?

Nurbs 曲线有一个标准的节点向量,例如一条有 10 个控制点的曲线有这 12 个节点:

我假设生成的 Catmull-Rom 曲线将有 12 个控制点?或者更多..?

如果无法进行一对一转换,是否有一种好的算法可以至少获得非常接近的匹配?

0 投票
1 回答
153 浏览

matlab - spap2的奇怪结果

我遇到spap2了一些数据的奇怪结果:

在此处输入图像描述

实际数据是蓝色曲线,红色圆圈是我正在使用的节点,黄色曲线是三次样条曲线的显示。

代码很简单,我不知道是什么问题:

ec是向量-4.12:0.02:-0.54。Y 是以下向量:

节点由以下 12 个值定义:

我不期望很好的配合,但至少样条配合与结保持一致......但这里的结果是完全错误的。我对此感到困惑,无法查看此数据样本的问题所在。

注意:节点是在单独的算法中计算的,应该用于插值器,这里不是问题。问题是为什么样条拟合不通过结。

0 投票
2 回答
1940 浏览

matlab - 三次样条插值与多项式插值

我被要求使用 Matlab 研究不同类型的插值,以了解以下几点:

并找出和f(33)的值。f(33.5)f(35)

绘制 x 和 y 时,我可以看到f(33)应该在 27 左右,这也是我使用interp1(x,y,33)的 .

我不确定这是否是使用三次样条插值函数的正确方法,但我使用spline(x,y,33)并得到了ans = 24.3906.

f(33)无论我使用什么类型的插值,我不应该得到相同的值吗?

0 投票
1 回答
676 浏览

c++ - 如何让 B 样条曲线连接到最终控制点?

我有一组控制点,我正在尝试根据这些控制点绘制三次 B 样条曲线(3 阶)。我遇到的问题是我的曲线没有连接到最终控制点,而是将曲线绘制到一起位于不同区域的其他点。曲线点(0, 0)在一定时间后接近。

仅控制点的图像

曲线和控制点的图像。请注意,曲线正确地从第一个控制点开始,但没有在最后一个控制点结束。

我正在使用的代码:

0 投票
1 回答
688 浏览

d3.js - 如何在d3中绘制graphviz样条线

背景

graphviz 非常适合布置图表。当我用graphviz“点”布局我的图表时,它会生成一个文件,其中节点和边都标记有位置。例如边缘:

Graphviz 样条语言如下:

如果样条具有点(n = 1 (mod 3)),则这些点对应于从到p1 p2 p3 ... pn的三次 B 样条的控制点。如果给定,它接触边缘的一个节点,箭头从到。如果没有给出,触摸一个节点。同样对于和。p1pnstartpp1startpstartpp1pnendp

所以分解上面的字符串,

问题

我想通过 d3 绘制这条样条线。d3 似乎具有具有以下签名的三次 b 样条曲线:

d3.curveBasis(上下文)

使用指定的控制点生成三次基样条。第一个点和最后一个点重复三次,这样样条曲线从第一个点开始,到最后一个点结束,并且与第一个和第二个点之间的线以及倒数第二个点和最后一个点之间的线相切。

那么我该如何取字符串

并绘制graphviz在d3中绘制的样条曲线?

0 投票
1 回答
215 浏览

matlab - 在没有内置 MATLAB 函数的情况下构造具有自然边界条件的三次样条

作为项目的一部分,我必须在不使用任何内置 MATLAB 函数(如 spline 或 csape)的情况下构建具有自然边界条件的三次样条。我尝试编写以下功能。

虽然我很确定它在计算系数 q 时是正确的,但我无法弄清楚我最终将如何得到实际的三次多项式。我现在在调用函数时得到的输出是 S 的 9 个不同值。

任何帮助或提示将不胜感激。