问题标签 [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.
algorithm - 什么是 O(log* N)?
什么是 O(log* N),它与 O(log N) 有何不同?
javascript - 如何在Javascript中计算线性浮点数的曲线?
如何计算线性浮点数(0 到 1)的曲线并得到另一个浮点数?我想要的是直到一半(0..0.5),根据给定的线性值反转对数并且比对数高,就像曲线一样。
algorithm - 如何快速找到二进制对数?(最多为 O(1))
有没有什么非常快速的方法可以找到一个整数的二进制对数?例如,给定一个数字 x=52656145834278593348959013841835216159447547700274555627155488768,这样的算法必须找到 y=log(x,2),即 215。x 始终是 2 的幂。
问题似乎很简单。所需要的只是找到最高有效 1 位的位置。有一个众所周知的方法 FloorLog,但它不是很快,特别是对于很长的多字整数。
最快的方法是什么?
matlab - 修剪数据以便更好地查看日志图 - Matlab
只是想知道是否有人对我遇到的问题有任何想法。
我有大量数据需要显示在一个图表上。两条粗体和实线的理论线显示在顶部,然后绘制出收敛到这些线的 10 个实验数据集,每个数据集使用不同的标识符(例如 + 或 o 或正方形等)。这些图表的对数比例最高可达 1e6。图的前几十年(< 1e3)看起来不错,但随着所有数据集的收敛(> 1e3),很难看出什么数据是什么。
每十年有超过 1000 个数据点,我可以在一定程度上线性修剪,但如果我这样做太多,图表的下端将受到分辨率的影响。
我想做的是对数修剪,在高端最强,回到0。我的问题是:我怎样才能得到一个对数缩放的索引向量而不是线性的?
我最初的假设是,由于我的数据是线性的,我可以只使用线性索引来修剪,这会导致这样的事情(但对于所有几十年):
但这显然会导致李子表现得神经质。每个十年都有我想要的点数,但由于它是一个线性分布,这些点往往在对数尺度上十年的高端聚集。
关于如何做到这一点的任何想法?
c++ - 在 C++ 中使用对数实现运算符重载
我在用 C++ 中的运算符重载实现对数类时遇到了一些问题。
我的第一个目标是如何实现该changeBase
方法,我一直很难理解它。
我试图理解改变对数底数的数学原理,但我没能做到。有人可以向我解释一下吗?
我的第二个目标是能够执行左操作数是 adouble
而右操作数是对数对象的操作。
这是我的日志类的片段:
你们太棒了,谢谢你们的时间。
c++ - 如何比较 C++ 中 log() 和 fp 除法的性能?
我在 C++ 中使用基于日志的类来存储非常小的浮点值(否则这些值超出了 的范围double
)。当我执行大量乘法时,这具有将乘法转换为总和的额外好处。
但是,在我的算法中的某个时刻,我需要将标准double
值除以一个integer
值,而不是对*=
基于对数的值执行 a。我已经*=
为基于日志的类重载了运算符,并且首先通过运行将右侧的值转换为基于日志的值,log()
然后将其添加到左侧的值中。因此实际执行的操作是浮点除法log()
和浮点求和。
我的问题是首先将分母转换为基于对数的值是否会更快,这将用浮点减法代替浮点除法,产生以下操作链:两次log()
,浮点减法,浮点总和。
最后,这归结为浮点除法是比 快还是慢log()
。我怀疑一个常见的答案是这取决于编译器和架构,所以我会说我在 darwin 10.3.0 上使用 Apple 的 gcc 4.2。尽管如此,我还是希望得到一个关于这两个运算符的速度的一般评论和/或关于如何自己衡量差异的想法的答案,因为这里可能会有更多事情发生,例如执行执行类型转换的构造函数等等
干杯!
optimization - 对数和统一成本标准之间的差异
我在理解对数(Lcc)和统一(Ucc)成本标准之间的区别以及如何在计算中使用它时遇到了一些问题。
有人可以解释一下两者之间的区别,或许可以说明如何计算 A+B*C 等问题的复杂性
(是的,这是作业的一部分 =))
感谢您的帮助!
/马丁
javascript - 如何在 JavaScript 中指定 Math.log() 的基数?
我需要一个log
JavaScript 函数,但它需要以 10 为基数。我看不到任何列表,所以我假设它是不可能的。是否有任何数学向导知道解决方案?
java - Java中的数学问题;计算得出的不可思议的 NaN
我正在做一个项目,该项目基于这些查询的结果进行大量查询和一些数学建模,最后是一些评分(阅读:“执行时间太长而无法彻底测试”)。
最近我在我的代码中发现了一个相当新的问题/错误;一些结果得到NaN
分数的值!以下是分数的计算方式:
请注意pfound
,psig
是double
始终为正或 0 的 s
我已经检查了触发的可能原因NaN
,但我相信大多数情况下应该是安全的:
我已经在检查 pfound == 0 (所以没有除以零)
Math.log() 的参数不能为负值
我怀疑的是factorial()
(将阶乘返回为 a 的自定义函数long
)是否返回 along
太大以至于不能在double
不损失精度或类似情况的情况下将其转换为 a 。我检查了Long.doubleValue()
,NaN
如果它的参数导致它显然会生成NaN
.
任何意见?我在这里错过了一些基本的东西吗?
graph - 如何在日志图上绘制刻度线?
给定范围 '1 到 x',刻度线间距 'y' 使得 'y' < 'x/2',我如何在 log 10 的图表上绘制刻度线?这类事情有通用算法吗?
我应该在 c# 中添加这是一个自定义控件。