คุณทำบันทึกธรรมชาติ (เช่น“ ln ()”) ด้วย numpy ใน Python ได้อย่างไร


98

เมื่อใช้ numpy ฉันจะทำสิ่งต่อไปนี้ได้อย่างไร:

ln(x)

เทียบเท่ากับ:

np.log(x)

ฉันขอโทษสำหรับคำถามที่ดูเหมือนจะไม่สำคัญ แต่ความเข้าใจของฉันเกี่ยวกับความแตกต่างระหว่างlogและlnนั่นlnคือ logspace e?

คำตอบ:


162

np.logคือlnในขณะที่np.log10บันทึกฐาน 10 มาตรฐานของคุณ

เอกสารที่เกี่ยวข้อง:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.log.html

http://docs.scipy.org/doc/numpy/reference/generated/numpy.log10.html


12
สำหรับคนที่สงสัยว่า np คืออะไรเหมือนตัวเอง "import numpy as np"
Ravi Sankar Raju

18

ที่ถูกต้องnp.log(x)คือการเข้าสู่ระบบธรรมชาติ (ฐานelog) xของ

สำหรับฐานอื่น ๆ โปรดจำกฎของบันทึกนี้ไว้: บันทึกlog-b(x) = log-k(x) / log-k(b)อยู่ที่ไหนlog-bในฐานบางส่วนโดยพลการbและlog-kเป็นฐานการเข้าสู่ระบบkเช่น

ที่นี่ k = e

l = np.log(x) / np.log(100)

และlคือ log-base-100 ของ x


แล้วการสูญเสียความแม่นยำล่ะ?
qwr


0

คุณสามารถทำได้ง่ายๆเพียงแค่ทำสิ่งที่ตรงกันข้ามโดยสร้างฐานของบันทึกเป็น e

import math

e = 2.718281

math.log(e, 10) = 2.302585093
ln(10) = 2.30258093

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.