Tag: 数值分析

整数立方根

我正在寻找64位(无符号)立方根的快速代码。 (我正在使用C并使用gcc进行编译,但我想大多数所需的工作都是语言和编译器无关的。)我将通过ulong表示一个64位的unisgned整数。 给定输入n我需要(整数)返回值r r * r * r <= n && n < (r + 1) * (r + 1) * (r + 1) 也就是说,我想要n的立方根,向下舍入。 基本代码如 return (ulong)pow(n, 1.0/3); 因为向范围的末端舍入而不正确。 简单的代码就像 ulong cuberoot(ulong n) { ulong ret = pow(n + 0.5, 1.0/3); if (n = 18446724184312856125ULL) return 2642245ULL; if (ret * ret * ret > […]

R使用什么算法来计算平均值?

我很想知道R的平均函数使用什么算法。 是否有一些参考这个算法的数值属性? 我在summary.c中找到了以下C代码:do_summary(): case REALSXP: PROTECT(ans = allocVector(REALSXP, 1)); for (i = 0; i < n; i++) s += REAL(x)[i]; s /= n; if(R_FINITE((double)s)) { for (i = 0; i < n; i++) t += (REAL(x)[i] – s); s += t/n; } REAL(ans)[0] = s; break; 它似乎直接意味着: for (i = 0; i < n; i++) […]

如何生成与直方图匹配的点?

我正在研究一个模拟系统。 我将很快获得实验数据(直方图),用于几个模拟输入的实际值分布。 当模拟运行时,我希望能够生成与测量分布匹配的随机值。 我宁愿这样做而不存储原始直方图。 什么是好方法 将直方图映射到表示分布的一组参数? 在运行时生成基于这些参数的值? 编辑:输入数据是几种不同类型事件的事件持续时间。 我希望不同的类型具有不同的分布函数。