13得票6回答
Scala的数值库

我正在寻找一个库,用于在Scala(或Java,不过最好能使用scala函数!)中进行数值计算,至少具备以下功能: L-BFGS 最小化器(Powell、QuasiNewton等) 多变量函数的数值微分 数值积分(不是必需的,但强烈推荐) 我只需要找到一个有活跃维护的库(最早更新时间在...

13得票2回答
贝塞尔三次曲线:匀加速运动

假设我有一个贝塞尔曲线B(u),如果我以恒定速率增加u参数,我无法沿着曲线获得恒定速度的移动,因为u参数和通过评估曲线获得的点之间的关系不是线性的。 我已经阅读并实现了David Eberly的文章。它解释了如何沿参数曲线以恒定速度移动。 假设我有一个函数F(t),它将时间值t和速度函数s...

12得票1回答
numpy.sum是如何实现的?它能避免数值误差吗?

众所周知,对数字进行累加可能会导致数值误差(例如,如果第一个数字非常大,而其他数字非常小)。 可以通过以非直观的方式相加来解决这个问题。例如,请参见:https://en.wikipedia.org/wiki/Kahan_summation_algorithm numpy.sum是否实现了...

12得票2回答
为什么在这种特定情况下,结构体比类快那么多?

我有三个案例来测试类、继承类和结构体的相对性能。这些将用于紧密循环,因此性能很重要。点积是2D和3D几何中许多算法的一部分,我已经在真实代码上运行了分析器。下面的测试反映了我见过的真实世界性能问题。 100000000次循环和点积应用的结果如下: ControlA 208 ms ( c...

12得票3回答
如何在R中评估样条函数的导数?

R 可以通过 splines 库中的 splinefun() 生成样条函数。但是,我需要计算其一阶和二阶导数。有没有办法做到这一点? 举个例子:library(splines) x <- 1:10 y <- sin(pi/x) #just an example f_of_x &l...

12得票2回答
求解二次方程的数值稳定方法

使用浮点数,已知当b^2>>4ac时,二次公式的求解效果不佳,因为这将导致精度损失,具体解释请参见此处。 我被要求找到更好的解决二次方程的方法,我知道有这个算法。是否还有其他更好的公式可以使用?我应该如何提出更好的公式?我尝试对标准公式进行代数变换,但没有任何结果。

12得票1回答
NumPy梯度函数和数值导数

numpy.gradient 函数返回的数组取决于数据点数量/数据点间距。这是预期行为吗?例如: y = lambda x: x x1 = np.arange(0,10,1) x2 = np.arange(0,10,0.1) x3 = np.arange(0,10,0.01) pl...

11得票1回答
log(1+x)的对应函数是log1p,那么log(1-x)的对应函数是什么?

<math.h>提供了一种更准确的方法来计算double类型的log(1+x)。 是否有类似精确的方法可以计算log(1-x)? 之所以问这个问题,是因为我正在尝试在对数空间中进行一些工作,以获得更高的精度(我主要是在非常接近零的数字上做乘法和求和)。我发现使用log1p编写一...

11得票4回答
如何在PHP中获取浮点数的二进制表示?

有没有办法在PHP中获取浮点数的二进制表示?类似于Java的Double.doubleToRawLongBits()。 给定一个正的浮点数,我想要得到比该数字小的最大可表示浮点数。在Java中,我可以这样做: double x = Double.longBitsToDouble(Doubl...

11得票1回答
任意曲线的递归弧长重新参数化

我有一个三维参数曲线,定义为P(t)=[x(t),y(t),z(t)]。 我正在寻找一种重新参数化弧长的函数。我使用的是OpenSCAD,这是一种没有变量(只有常量)的声明式语言,因此解决方案需要递归地工作,并且除了全局常量和函数参数之外没有变量。 更准确地说,我需要编写一个函数Q(s),...