问题标签 [splines]
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.
r - MGCV 获取设计矩阵
以样条为基础的 GAM 回归由以下成本函数定义:
cost = ||y - S \beta ||^2 + scale * integral(|S'' \beta|^2)
其中S
是由样条定义的设计矩阵。
在 RI 中可以gam
使用以下代码进行计算:
我想获得由函数S
生成的设计矩阵。s()
我怎样才能做到这一点?
c - 整数算术中的样条?
样条曲线(分段三次多项式形式)可以写成:
其中x[k] < x < x[k+1]
,曲线通过每个(x[k], y[k])
点,a,b,c 是描述斜率和形状的系数数组。这一切都可以在浮点数中正常工作,并且有很多方法可以为不同种类的样条计算 a、b、c。然而...
这如何用整数算术近似?
棘手的部分之一是,理想情况下,任何近似值都应该是连续的,换句话说,使用x=x[k+1]
来自第 k 段的系数,结果应该是y[k+1]
舍入误差除外。换句话说,对于直线段,y[k+1] == y[k] + a[k]*(x[k+1] - x[k])
和弯曲段仅在中间偏离此,而在两端均不偏离。在浮点的情况下,这是通过构造来保证的,但即使是舍入后的很小的系数变化也可能会使其偏离很多。
另一个棘手的部分是,一般来说,高阶系数的幅度要小得多——但并非总是如此,尤其是。不在尖锐的“角落”。将它们按 s 的典型大小放大到它们的任何顺序的幂仍然是有意义的,因此它们不会作为整数四舍五入到零,但这似乎会以曲率分辨率换取最大可能的角锐度.
首先尝试整数版本:
然后使用整数乘法(用于 16 位值,32 位算术):
这在理论上看起来不错,但我不确定这是最好的方法,或者如何系统地告诉最好的方法是什么。
matlab - 使用实验数据进行双重积分
我需要使用实验数据执行双重积分,但我的积分限制对于每个积分都是相同的,在这种情况下是时间。数学上我需要计算:
E [ a 0 + ∫<sub>0 T a(t)dt ] = a + lim Tx → ∞</sub> (1/T) ∫<sub>0 T ∫<sub>0 t a dt dT
经过一番搜索,我到达了:
代码需要很长时间才能运行并提供巨大的价值。我认为我的问题是 Matlab 可能无法处理样条曲线,但我不知道如何解决。
python - Python/Scipy 中的分段常数或 0 度样条插值
尽管 scipy 的文档表明scipy.interpolate.UnivariateSpline将以 k<=5 的顺序运行,但实际上,对于 >=1 的顺序还有一个额外的约束。有谁知道用 Numpy/Scipy 实现 0 度样条或分段常数插值的方法?
graphviz - 使用端口graphviz时的折线边缘
我正在使用 Graphviz 创建一个带有类似 HTML 标签的节点的图形。我的点文件:
我正在使用端口来定义节点上我想与其他节点连接的位置。附上dot生成的图片。
我想将边缘绘制为折线而不是曲线。我试图修改图形的 splines 属性,但它不起作用,实际上从 graphviz 文档中我发现了这一点:“值 ortho 指定边缘应路由为轴对齐段的折线。目前,路由不处理端口或以点表示的边缘标签。”
您能否帮助找到使用端口的折线(或更好看的边缘)的解决方案?
谢谢。
r - 如何制作分段常数公式项?
我可以为这样的分段线性样条生成模型矩阵:
但 0 度样条(即阶跃函数)是不允许的:
是否有一种正统的方法可以在 R 中构建这些,最好是可以用作模型公式术语的方法?我敢肯定我可以破解一些东西,但我想要惯用的方式,如果它存在的话。
r - 如何将 ns/bs 的输出列放入 R 中的 data.table 中?
我有一个data.table
功能,例如:
通常,如果我想对其中的一个功能进行自然样条基础扩展,lm
我可以执行以下操作:
但是,如果我只想将样条基础列添加到我的 data.frame 以供以后使用,则以下内容不起作用:
有没有一种优雅的方式来分配它们?无需手动提取这样的列:
genetic-algorithm - 关于 BSplines 和 Beziers
我正在做一个小型绘图测试程序,我正在绘制曲线。
虽然贝塞尔曲线很容易,但我还是坚持使用样条曲线。与第一个一样,当我在窗口中单击时,我添加了一个结,但老实说,我不知道如何从这里绘制曲线:如何像使用 Beziers 一样计算值(见下文)?
html - SVG keySplines 动画问题/错误
在 keySplines 的情况下,SVG 动画似乎存在问题。我正在使用谷歌浏览器 v46.0
svg代码,
如您所见,它是一个简单的矩形动画,它沿着标记中定义的路径进行动画处理,其中定义了 2 段 keySplines,其中第 1 段 0 1 0 1 是非线性的,而第二段 0 0 1 1 给出线性插值。我已经可视化了路径,它是一条白色和黄色的直线,分别表示第一段和第二段。
对于第一段,矩形应该从白线的起点到白线的终点(作为其中心)。对于第二段,它应该从黄线的起点到黄线的终点(作为其中心)。
但在这种情况下并没有发生这种情况。当我将第一段 keySpline 从 0 1 0 1 更改为 0 0 1 1 时,动画按预期运行。
我在某个地方出错了还是这可能是 chrome 中的错误?
谢谢 !