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

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


บันทึกลอการิทึมธรรมชาติคือค่าผกผันของฟังก์ชันเลขชี้กำลัง ดังนั้น log(exp(x)) =x ลอการิทึมธรรมชาติคือลอการิทึมในฐาน e เมธอดส่งคืนลอการิทึมธรรมชาติของ x แบบอิงองค์ประกอบ นี่คือสเกลาร์ถ้า x เป็นสเกลาร์ พารามิเตอร์ที่ 1 คือค่าอินพุตแบบอาร์เรย์ พารามิเตอร์ที่ 2 ไม่ทำงาน ซึ่งเป็นตำแหน่งที่เก็บผลลัพธ์ หากมีให้ จะต้องมีรูปร่างที่อินพุตออกอากาศไป หากไม่ระบุหรือไม่มี ระบบจะส่งคืนอาร์เรย์ที่จัดสรรใหม่ ทูเพิล (อาจเป็นอาร์กิวเมนต์ของคีย์เวิร์ดเท่านั้น) ต้องมีความยาวเท่ากับจำนวนเอาต์พุต

ลอการิทึมเป็นฟังก์ชันที่มีหลายค่า สำหรับแต่ละ x จะมีจำนวน z เป็นอนันต์ ซึ่ง exp(z) =x แบบแผนคือการคืนค่า z ที่มีส่วนจินตภาพอยู่ใน [-pi, pi] สำหรับประเภทข้อมูลอินพุตที่มีค่าจริง บันทึกจะส่งคืนเอาต์พุตจริงเสมอ สำหรับแต่ละค่าที่ไม่สามารถแสดงเป็นจำนวนจริง orinfinity ได้ จะให้ค่า nan และตั้งค่าสถานะข้อผิดพลาดทศนิยมที่ไม่ถูกต้อง สำหรับการป้อนข้อมูลที่มีค่าเชิงซ้อน บันทึกคือฟังก์ชันการวิเคราะห์เชิงซ้อนที่มีการตัดสาขา [-inf, 0] และต่อเนื่องจากด้านบน ล็อกจัดการค่าศูนย์ลบทศนิยมเป็นจำนวนลบที่น้อยที่สุด ซึ่งเป็นไปตามมาตรฐาน 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)

บันทึกลอการิทึมธรรมชาติคือค่าผกผันของฟังก์ชันเลขชี้กำลัง ดังนั้น log(exp(x)) =x ลอการิทึมธรรมชาติคือลอการิทึมในฐาน e วิธีการส่งคืนลอการิทึมธรรมชาติของ x องค์ประกอบ นี่คือสเกลาร์ถ้า x เป็นสเกลาร์ -

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

ตัวอย่าง

import numpy as np

# Creating a numpy array using the array() method
arr = np.array([0+1.j, 1, 2+0.j])

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# Get the Shape
print("\nShape of our Array...\n",arr.shape)

# The natural logarithm log is the inverse of the exponential function, so that log(exp(x)) = x. The natural logarithm is logarithm in base 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 ]