每次当我想用python
实现ln函数时,下意识的就会输入错误的函数代码,这里特来记录一下关于numpy
中的ln
和log
函数正确的调用方式。
ln
函数:
import numpy as np
class NumpyStudy:
def lnFunction(self):
const = np.e
result = np.log(const)
print("函数ln(e)的值为:")
print(result)
if __name__ == "__main__":
main = NumpyStudy()
main.lnFunction()
"""
函数ln(e)的值为:
1.0
"""
我们可以看到得到的值为1
,说明在python
中,np.log()
指代的便是数学中使用的ln
函数。
log
函数
import numpy as np
class NumpyStudy:
def logFunction(self):
const = 100
result = np.log10(const)
print("函数ln(e)的值为:")
print(result)
if __name__ == "__main__":
main = NumpyStudy()
main.logFunction()
"""
函数ln(e)的值为:
2.0
"""
我们可以看到得到的值为2
,说明在python
中,np.log10()
指代的便是数学中使用的lg
函数。
前几天看到有一个小伙伴留言说,既然以10
和以自然数e
为底数的目前都有了,那么以其他数比如2
,3
,4
等等为底数的log
函数该怎么办呢?这里我们需要用到一下数学上的小技巧—换底公式进行一下变换。例如:我们想要求出log
以2
为底16
的值。
log
2
(
16
)
=
log
e
(
16
)
log
e
(
2
)
=
log
10
(
16
)
log
10
(
2
)
\log_2 \left(16 \right) = \frac{\log_e\left(16 \right) }{\log_e\left(2 \right) }=\frac{\log_{10}\left(16 \right) }{\log_{10}\left(2 \right) }
log2(16)=loge(2)loge(16)=log10(2)log10(16)
import numpy as np
class NumpyStudy:
def lnFunction(self):
result = np.log(16) / np.log(2)
result1 = np.log10(16) / np.log10(2)
print("函数ln(e)的值为:")
print(result)
print(result1)
if __name__ == "__main__":
main = NumpyStudy()
main.lnFunction()
"""
函数ln(e)的值为:
4.0
4.0
"""
可以看到我们最后成功地获取到了正确的结果4.0
。用这种方法我们可以获取到以任意数为底数的log
函数值。
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~