Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คำนวณลอการิทึมธรรมชาติสำหรับอินพุตค่ามุ้มใน Python

ลอการิทึมธรรมชาติ (natural logarithm) log เป็นฟังก์ชันผกผันของ exponential ดังนั้น log(exp(x)) = x ลอการิทึมธรรมชาติคือลอการิทึมฐาน e เมธอดส่งคืนลอการิทึมธรรมชาติของ x แบบ element-wise เป็นสเกลาร์หาก x เป็นสเกลาร์ พารามิเตอร์แรกคือค่าอินพุต array-like พารามิเตอร์ที่สอง out ตำแหน่งจัดเก็บผลลัพธ์ หากระบุ ต้องมีรูปร่างที่อินพุต broadcast ได้ หากไม่ระบุหรือเป็น None ส่งคืนอาร์เรย์ที่จัดสรรใหม่

ลอการิทึมเป็นฟังก์ชันหลายค่า (multivalued) สำหรับแต่ละ x มี z หลายค่า ที่ exp(z) = x ข้อตกลงคือส่งคืน z ที่ส่วนจินตภาพอยู่ใน [-pi, pi] สำหรับอินพุตชนิดข้อมูลจริง log ส่งคืนค่าจริงเสมอ สำหรับค่าที่ไม่สามารถแสดงเป็นจริงหรืออนันต์ จะส่งคืน nan และตั้ง flag ข้อผิดพลาดจุดลอยตัว สำหรับอินพุตค่ามุ้ม log เป็นฟังก์ชันวิเคราะห์มุ้มที่มี branch cut [-inf, 0] และต่อเนื่องจากด้านบน log จัดการ floating-point negative zero เป็นจำนวนลบ infinitesimal ตามมาตรฐาน C99

ขั้นตอน

ขั้นแรก ให้นำเข้าไลบรารี:

import numpy as np

สร้างอาร์เรย์ NumPy ด้วย array():

arr = np.array([0+1.j, 1, 2+0.j])

แสดงอาร์เรย์:

print("Our Array...\n", arr)

ตรวจสอบมิติ:

print("\nDimensions of our Array...\n", arr.ndim)

ตรวจสอบชนิดข้อมูล:

print("\nDatatype of our Array object...\n", arr.dtype)

ตรวจสอบรูปร่าง:

print("\nShape of our Array...\n", arr.shape)

คำนวณลอการิทึมธรรมชาติด้วย np.log():

print("\nResult (log)...\n", np.log(arr))

ตัวอย่างโค้ดเต็ม

import numpy as np
# สร้างอาร์เรย์ NumPy ด้วย array()
arr = np.array([0+1.j, 1, 2+0.j])
# แสดงอาร์เรย์
print("Our Array...\n", arr)
# ตรวจสอบมิติ
print("\nDimensions of our Array...\n", arr.ndim)
# ตรวจสอบชนิดข้อมูล
print("\nDatatype of our Array object...\n", arr.dtype)
# ตรวจสอบรูปร่าง
print("\nShape of our Array...\n", arr.shape)
# ลอการิทึมธรรมชาติ log เป็นฟังก์ชันผกผันของ exponential
# log(exp(x)) = x ลอการิทึมธรรมชาติคือลอการิทึมฐาน e
print("\nResult (log)...\n", np.log(arr))

ผลลัพธ์

Our Array... [0.+1.j 1.+0.j 2.+0.j]
Dimensions of our Array... 1
Datatype of our Array object... complex128
Shape of our Array... (3,)
Result (log)... [0. +1.57079633j 0. +0.j 0.69314718+0.j ]