Math 12Log2和Log[2,12]之间的差异?

Math 12Log2和Log[2,12]之间的差异?,math,Math,我的数学很差,我对差异感到困惑。我试图找出midi公式,当我有midi值时输出频率 MidiNumber = 69+12* Log2(440/Frequency) 所以我推导出 频率=(-69+5280 Log2+MidiNumber)/(12 Log2) 如果我插件的东西,这是正确的工作 440=(-69+5280 Log2+69)/(12 Log2) 如果我这样做,尽管事情不正常 (-69+Log[25280.]+69)/Log[2,12.] 这是我在编程中得到的输出,我不知道这两个方程之

我的数学很差,我对差异感到困惑。我试图找出midi公式,当我有midi值时输出频率

MidiNumber = 69+12* Log2(440/Frequency)
所以我推导出 频率=(-69+5280 Log2+MidiNumber)/(12 Log2)

如果我插件的东西,这是正确的工作 440=(-69+5280 Log2+69)/(12 Log2)

如果我这样做,尽管事情不正常 (-69+Log[25280.]+69)/Log[2,12.]


这是我在编程中得到的输出,我不知道这两个方程之间的确切区别。也许是12*Log2,但那是12*Log2[1]还是。。。?不知道

您困惑的一部分似乎是将Log2(n)视为Log2*n。Log2实际上是一个函数,它的倒数是2^x

所以你的推导应该是这样的:

MidiNumber = 69 + 12 * Log2(440 / Frequency)
MidiNumber - 69 = 12 * Log2(440 / Frequency)
(MidiNumber - 69) / 12 = Log2(440 / Frequency)
2^((MidiNumber - 69) / 12) = 440 / Frequency
Frequency = 440 / 2^((MidiNumber - 69) / 12)

您的部分困惑似乎是将Log2(n)视为Log2*n。Log2实际上是一个函数,它的倒数是2^x

所以你的推导应该是这样的:

MidiNumber = 69 + 12 * Log2(440 / Frequency)
MidiNumber - 69 = 12 * Log2(440 / Frequency)
(MidiNumber - 69) / 12 = Log2(440 / Frequency)
2^((MidiNumber - 69) / 12) = 440 / Frequency
Frequency = 440 / 2^((MidiNumber - 69) / 12)

你的语句是用什么语言格式化的?我想让我的arduino接受midi数字,所以我只是想把派生函数翻译成代码。(-69+Log[25280.]+69)/Log[2,12.]给了我类似于3.44而不是440的东西。你的语句的格式是什么语言?我试图让我的arduino接受midi数字,所以我只是试图将派生函数翻译成代码。(-69+Log[25280.]+69)/Log[2,12.]给出了类似于3.44的值,而不是440