【问题标题】:Why does it different beween log() and log(double()) in Matlab?为什么 Matlab 中的 log() 和 log(double()) 不同?
【发布时间】:2015-03-06 02:40:46
【问题描述】:

我对 matlab 中 log 和 log(double) 之间的区别感到震惊。 据我所知,log(255) = 2.4065 ......但我的 matlab 是 5.5413。 他们之间怎么会有区别? 这是bug吗?

【问题讨论】:

  • 没有错误。 Matlab 中的log() 函数在基数 e 上运行,您可以通过打开计算器并计算 e ^ 5.5413 得到 255 来验证这一点。
  • 您能在正文中解释一下您的问题的标题吗? double() 哪里来的?

标签: matlab


【解决方案1】:

Matlab 的 log 函数是基本的 e(即您的 5.54...)。我想你正在寻找log10(那是你的2.40...)。


想到的大多数编程语言(MATLAB、Fortran、C、PHP、Javascript)默认使用log 作为自然对数而没有指定底数。 我想说,可以说,这是因为涉及e 的对数比涉及10 的对数更为普遍(尽管它们通常重要到足以接收自己的函数)。

【讨论】:

  • 你比我快 5 秒 ;-(
  • 你比我快 0.5 秒
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-29
相关资源
最近更新 更多