我正在从我正在研究的项目中切掉一些VB6:
Public Function C_Ln(c As ComplexNumber) As ComplexNumber
Set C_Ln = toComplex(Log(C_Abs(c)), Atan2(c.Imag, c.Real))
End Function
Run Code Online (Sandbox Code Playgroud)
VB6 Log()函数是base-e.我想做这个版本来做base-2,base-10和base-n.我从哪里开始?
我有一个问题(至少我认为我有问题),计算如下:
ppm <- 20
mDa <- 2
x <- c( 100, 100.002 )
base <- 1 + ((x * ppm * 1E-6) + (mDa * 1E-3))/x
base
# [1] 1.00004 1.00004
base - 1.00004
# [1] 0.00000e+00 -3.99992e-10
logb( x[2], base[2] ) - logb( x[1], base[1] )
# [1] 1.651291
Run Code Online (Sandbox Code Playgroud)
但是,我本来期望结果是近似的 0.5,因为我预计两种情况下的基数大约是 1.00004:
logb( x[2], 1.00004 ) - logb( x[1], 1.00004 )
# [1] 0.500005
Run Code Online (Sandbox Code Playgroud)
虽然我手头没有证据,但我怀疑结果在logb( x[2], 1.00004 ) - logb( x[1], 1.00004 )数学上是否正确,我认为我遇到了数值精度问题.如何避免这个问题的任何想法都非常感谢. …
我有一个数据文件,如下所示:
-1.98614
-1.99195
-2.28257
-2.09129
-2.08449
-2.0765
-2.0379
-2.25625
-2.04351
-2.09871
-2.17877 ...
Run Code Online (Sandbox Code Playgroud)
我想获取-log(base 10)每一行(awk 命令)并将其放在一个新文件中。你能帮我一下吗?
我正在尝试为我的Kerbal Space Program游戏创建一个计算Delta-V的程序,而C++(在Eclipse IDE中运行)不允许使用log()而不假设我试图调用一个函数.非常感谢你的帮助!你真的很好
#include <iostream>
#include <cmath>
using namespace std;
int main() {
cout << "Hello. Welcome to the Kerbal Space Program Delta V Calculator. \n";
cout << " \n";
cout << "Note that each stage must use the same engine for this calculator.";
cout << "\n";
cout << "\nHow many stages make up your rocket? :";
int stageNumber;
cin >> stageNumber;
//cout << "Your rocket has " << stageNumber << " stages.\n";
cout << "\n\nStart from the bottom …Run Code Online (Sandbox Code Playgroud) 我在 JavaScript 中使用 Math.log 函数计算对数时发现了一个错误。例如,考虑一个数字(比如 0.1), actual log value of 0.1 to the base 10 is -1。
但是当我Math.log在 javascript 中使用函数时,它返回-2.302585. 显然,这是错误的,那么,我应该编写自己的函数来计算对数,还是 JavaScript 中是否有其他方法可以手动计算对数?
我正在修改我的考试,这个问题出现在过去的论文中:
根据阶数符号f(n)EO(g(n))的数学定义,对任何对数基数a和b的选择显示O(loga n)= O(logb n).
有人可以告诉我如何解决这个问题吗?
我正在尝试使用Python进行一些基本的dB计算.如果我使用Excel或科学计算器:
20*log(0.1) = -20
Run Code Online (Sandbox Code Playgroud)
在Python中:
20*log(0.1) = -46.0517018599
Run Code Online (Sandbox Code Playgroud)
进一步简化,Excel和Scientific calc:
log(0.1) = -1
Run Code Online (Sandbox Code Playgroud)
蟒蛇:
log(0.1) = -2.30258509299
Run Code Online (Sandbox Code Playgroud)
我用我的脚本开始
import math
log = math.log
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么这是我以及如何解决它?
我试图在Python中做零对数.
from math import log
log(0)
Run Code Online (Sandbox Code Playgroud)
这引起了我的例外.
ValueError: math domain error
Run Code Online (Sandbox Code Playgroud)
我理解log一个负数在数学上是未定义的,这就是Python log可以引发这个ValueError异常的原因.但是为什么在用零值调用它时也会引发异常呢?它应该返回一个-inf值,我已经看到无限数字可以在Python中表示(如此处所示).
我可以在没有亲自对待的情况下处理这个问题吗?我的意思是在做这样的事情时亲自.
from math import log, inf
foo = ... # Random value.
if foo != 0: return log(foo)
else: return -inf
Run Code Online (Sandbox Code Playgroud) 我得到了对数正态分布的 log10 均值和 log10 标准差。我想从这个对数正态分布中获得一个随机数。
即使该函数的输入是底层正态分布的平均值和标准(我没有),这可以用 numpy.random.lognormal 来完成吗?
另外,我从函数返回的随机数是 log10、自然对数还是常规数?
logarithm ×10
math ×4
python ×3
big-o ×2
algorithm ×1
awk ×1
c++ ×1
javascript ×1
mixed-radix ×1
numpy ×1
r ×1
scipy ×1
trigonometry ×1
valueerror ×1
vb6 ×1