问题标签 [logarithm]

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

java - 如何在 Java 中计算以 2 为底的整数?

我使用以下函数计算整数的对数基数 2:

它是否具有最佳性能?

有人知道为此目的准备好的 J2SE API 函数吗?

UPD1 令 我惊讶的是,浮点运算似乎比整数运算更快。

UPD2 由于评论,我将进行更详细的调查。

UPD3 我的整数算术函数比 Math.log(n)/Math.log(2) 快 10 倍。

0 投票
3 回答
56776 浏览

python - “日志”和“符号日志”有什么区别?

matplotlib中,我可以使用pyplot.xscale()或设置轴缩放Axes.set_xscale()。这两个函数都接受三种不同的比例:'linear'| 'log'| 'symlog'.

'log'和 和有什么不一样'symlog'?在我做的一个简单测试中,它们看起来完全一样。

我知道文档说它们接受不同的参数,但我仍然不明白它们之间的区别。有人可以解释一下吗?如果有一些示例代码和图形,答案将是最好的!(另外:“symlog”这个名字是从哪里来的?)

0 投票
1 回答
283 浏览

c++ - 将双精度类型传递给 ceil 会导致 GCC 中不同优化级别的不同值

下面,result1 和 result2 变量值报告不同的值,具体取决于您是在 GCC 4.2.1 和 GCC 3.2.0 上使用 -g 还是使用 -O 编译代码(我还没有尝试过更新的 GCC 版本) :

result1 和 result2 == 5 仅在使用 -g 编译时,但如果我使用 -OI 编译,则得到 result1 == 6 和 result2 == 5。

这似乎是编译器如何进行优化的差异,或者与内部的 IEEE 浮点表示有关,但我很好奇这种差异究竟是如何发生的。如果可能的话,我希望避免查看汇编程序。

上面是用 C++ 编译的,但我认为如果使用 printfs 将其转换为 ANSI-C 代码,情况也是如此。

上述差异发生在 32 位 Linux 上,但不在 64 位 Linux 上。

谢谢博主

0 投票
3 回答
4620 浏览

math - 大O日志问题解决

我有一个来自我正在阅读的算法书的问题,我对如何解决它感到困惑(自从我完成对数或指数数学以来已经很长时间了)。问题如下:

假设我们在同一台机器上比较插入排序和归并排序的实现。对于大小为 n 的输入,插入排序以 8n^2 步运行,而合并排序以 64n log n 步运行。对于 n 的哪些值,插入排序优于合并排序?

对数以 2 为底。我已经开始尝试解决平等问题,但被困在 n = 8 log n 左右。

我想要讨论如何在数学上解决这个问题的答案(不接受 excel 的蛮力,抱歉;))。任何指向对数数学描述的链接也将非常有助于我理解您的答案。

先感谢您!

0 投票
3 回答
865 浏览

java - 对数鼠标移动

好吧,这可能是一个非常简单的问题。几年来我没有上过处理对数的数学课,所以我很抱歉。所以我有一个 USB 控制器,我用它来用左操纵杆控制屏幕上的鼠标。现在它的工作原理是控制器返回一个介于 0.00 和 1.00 之间的双精度值,具体取决于将操纵杆推向该方向的距离(0.00 中心,1.00 一直推到上面)。我使用它通过将返回值乘以给定速度(返回双倍 * 速度)来调整鼠标移动的速度。这给了我一个线性速度。但是为了鼠标的准确性和点击屏幕上的东西,我希望它更加对数,因为它在勉强推动时真的很慢,然后随着您将操纵杆移动得更远,速度会以对数方式增加。这样,您可以在屏幕上移动时获得良好的速度,同时在缓慢移动时也具有良好的灵敏度。所以我只需要公式的帮助,因为我确信它很简单。另外,我正在使用Java。现在我的公式是:

然后我用它来移动鼠标。谢谢,布雷登

0 投票
3 回答
5847 浏览

r - R ggplot2:使用 stat_summary(平均值)和对数刻度

随着时间的推移,我有一堆测量值,我想在 R 中绘制它们。这是我的数据样本。我对 4 个时间点中的每一个进行了 6 次测量:

这些数据的尺度是任意的,实际上我要对其进行归一化,使 t=0 的平均值为 1。

到现在为止还挺好。使用ggplot,我绘制了两个单独的点,以及在每个时间点通过平均值的一条线:

但是,现在我想应用对数刻度,这就是我的麻烦开始的地方。当我做:

这条线在 t=0 时不通过 0,因为 log (1) == 0。相反,这条线穿过 y 轴略低于 0。显然,在对数转换ggplot应用平均值,这给出了不同的结果。我希望它在对数转换之前取平均值。

我怎么知道ggplot先应用平均值?有没有更好的方法来创建这个图表?

0 投票
9 回答
269488 浏览

python - 在python中登录到base 2

我应该如何在 python 中计算以二为底的日志。例如。我有这个等式,我使用对数基数 2

0 投票
3 回答
4238 浏览

java - Java:生成具有对数分布的随机数

我正在尝试生成具有对数分布的随机数。

其中 n=1 出现一半时间,n=2 出现四分之一时间,n=3 出现八分之一时间,以此类推。

大多数时候,我得到了我需要的结果,但是每隔一段时间,我就会得到一个n大于maxN.

为什么会这样?在我看来,最大值Math.random()是 1.0;
因此最大值(Math.random() * t))t;
因此 log2(t) 的最大值是 maxN,因为 t = 2^maxN;

我的逻辑在哪里偏离了轨道?

谢谢

0 投票
3 回答
14864 浏览

iphone - 如何在 iOS 中计算对数?

我想在 iOS 中计算对数。Objective-C 能做到这一点吗?

0 投票
1 回答
384 浏览

iphone - 解决登录 iphone 目标 c 计算

如何在 iphone 上求解对数。我尝试对 log2f 和所有这些方法使用不同的方法,但是我不确定如何制作日志让我们说 log (base4) 5 = x 和 x 将作为答案