问题标签 [numerical]

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 投票
7 回答
4804 浏览

audio - 识别常见的周期性波形(方波、正弦波、锯齿波……)

在没有任何用户交互的情况下,程序如何识别来自 ADC 的记录中存在什么类型的波形?

为了这个问题:恒定频率的三角波、方波、正弦波、半正弦波或锯齿波。电平和频率是任意的,它们会有噪音、少量失真和其他缺陷。

各种波形

我也会提出一些(天真的)想法,你可以投票赞成或反对。

0 投票
10 回答
13757 浏览

c# - 为什么这些除法方程的结果为零?

下面 for 循环中所有除法方程的结果都是 0。我怎样才能让它给我一个小数,例如:

代码:

回答:

谢谢乔恩和大家,这就是我想做的:

0 投票
8 回答
964 浏览

math - 任意精度算术是否会影响数值分析软件?

任意精度算术是否会影响数值分析软件

我觉得大多数数值分析软件继续使用相同的浮点数和双精度数。

如果我是对的,我很想知道原因,因为在我看来,有一些计算可以从使用任意精度算术中受益,特别是当它与有理数表示结合使用时,如在GNU Multi-Precision Library上完成。

如果我错了,例子会很好。

0 投票
4 回答
4322 浏览

perl - Perl 中最小的非零正浮点数是多少?

我有一个 Perl 程序,它可以处理偶尔很小的概率。由于舍入误差,有时其中一个概率为零。我想检查以下内容:

这很好用,但我实际上看到 Perl 产生的数字小于 1e-200(我刚刚看到 8.14e-314 飞过)。对于我的应用程序,我可以更改 calculate_prob() 以便它返回 TINY_FLOAT 的最大值和实际概率,但这让我对 Perl 中如何处理浮点数感到好奇。

Perl 中最小的正浮点值是多少?它依赖于平台吗?如果是这样,是否有一个快速程序可以让我在我的机器上找到它?

0 投票
8 回答
8148 浏览

ruby - Ruby implementation is_numeric? for Strings, need better alternatives

I wanted to validate 'numericality' of a string (its not an attribute in an active-record model). I just need it to be a valid base 10, positive integer string. I am doing this:

Which of these is a more plausible alternative? OR, is there any other better implementation?

0 投票
9 回答
2023 浏览

tdd - 如何正确使用 TDD 来实现数值方法?

我正在尝试使用测试驱动开发来实现我的信号处理库。但我有一点疑问:假设我正在尝试实现正弦方法(我不是):

  1. 编写测试(伪代码)

    /li>
  2. 编写第一个实现

    /li>
  3. 第二次测试

    /li>

在这一点上,我应该:

  1. 实现适用于 pi 和其他值的智能代码,或
  2. 实现只适用于 0 和 pi 的最愚蠢的代码?

如果选择第二个选项,我什么时候可以跳转到第一个选项?我最终将不得不这样做......

0 投票
3 回答
4111 浏览

performance - Fortran:32 位/64 位性能可移植性

我已经开始将 Fortran (95) 用于一些数字代码(生成 python 模块)。这是一个简单的例子:

我发现这在 32 位中表现得非常好,但是当编译为 x86_64 时,它慢了大约 5 倍(来自 r.research.att.com 的 macbook pro core2duo、snow leopard、gfortran 4.2.3)。我终于意识到这可能是由于使用 32 位整数类型而不是本机类型,实际上当我用整数 * 8 替换时,64 位性能仅比 32 位低 25%。

为什么在 64 位机器上使用 32 位整数要慢得多?索引是否有我可能不知道的隐式转换?

对于这种类型的代码,64 位是否总是比 32 位慢(对此我感到很惊讶)——或者我是否有机会让 64 位编译版本以相同或更快的速度运行?

主要问题)有没有办法将(整数)变量声明为“本机”类型......即在现代 fortran 中编译为 32 位时为 32 位,在编译为 64 位时为 64 位。没有这个,似乎不可能编写出不会变慢的可移植fortran代码,具体取决于它的编译方式——我认为这意味着我将不得不停止在我的项目中使用fortran。我查看了 kind 和 selected_kind 但找不到任何这样做的东西。

[编辑:较大的性能损失来自 f2py 包装器复制数组以将其从 64 位 int 转换为 32 位 int,因此 fortran 没有任何固有的内容。]

0 投票
9 回答
4765 浏览

java - 数值算法中的 Java 性能

我对 Java 数值算法的性能很好奇,例如矩阵矩阵双精度乘法,使用最新的 JIT 机器,例如与手动调整的 SSE C++/汇编器或 Fortran 对应物相比。

我在网上看过,但大部分结果来自近 10 年前,我知道 Java 从那时起取得了很大进步。

如果您有使用 Java 进行数字密集型应用程序的经验,您可以分享您的经验。此外,Java 在循环相对较短且内存访问不是很均匀但仍在 L1 缓存范围内的内核中表现如何?如果这样的内核连续执行多次,JVM可以在运行时对其进行优化吗?

谢谢

0 投票
5 回答
24208 浏览

c++ - 在 C++ 中传递固定大小的数组?

基本上我想做这样的事情:

但这在 C++ 中似乎不合法。我知道我可以使用向量,但由于我知道数组的大小是一个常数,因此似乎很可能会出现性能损失。如果可以的话,我也想避免new,因为在堆栈上分配东西更容易,也可能提高性能。

这里有什么解决方案?

0 投票
3 回答
1699 浏览

c++ - 打破 NaN 或 infs

通常很难找到 NaN 的起源,因为它可能发生在计算的任何步骤并自行传播。那么当计算返回 NaN 或 inf 时,是否可以让 C++ 程序停止?我认为最好的方法是崩溃并显示一个很好的错误消息:

这样的事情可能吗?你有更好的解决方案吗?你如何调试 NaN 问题?

编辑:精度:我在 Linux 下使用 GCC。