Làm thế nào để bạn làm số ảo trong python?

Python không chỉ làm việc với số thực mà còn làm việc với số phức. Nó có nhiều trường hợp sử dụng trong toán học. Python giúp giải quyết và thao tác chúng

#hơn

Số phức được tạo từ hai số thực. Bạn có thể tạo trực tiếp hoặc có thể sử dụng hàm phức tạp. Nó được viết dưới dạng

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
0 trong đó x và y là số thực và j là số ảo là căn bậc hai của -1

Hãy xem cú pháp của hàm phức tạp

complex([real[, imag]])

Nó bao gồm hai đối số

có thật. Nó là một đầu vào bắt buộc và nó biểu thị phần thực của số phức. Theo mặc định, nó là 0. Nó cũng có thể được biểu diễn dưới dạng một chuỗi như thế này '1+1j' và trong trường hợp đó, phần thứ hai sẽ bị bỏ qua

tưởng tượng. Nó là một phần tùy chọn và nó biểu thị phần ảo của số phức. Theo mặc định, nó là 0

Hãy xem một số ví dụ

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j

Bạn cũng có thể sử dụng các chức năng tích hợp để truy cập thông tin chung. Hãy xem một ví dụ

z  = 3 + 4j

print(Real part:, z.real)
# Real part: 3.0 

print(Imaginary part:, z.imag)
# Imaginary part: 4.0

print(Conjugate value:, z.conjugate())
# Conjugate value: 3 - 4j

Bạn có thể tìm hiểu thêm về liên hợp từ đây

Ghi chú. Đây là quy tắc cơ bản của phần ảo thỏa mãn phương trình sau

j^2 = -1

Vì vậy, bạn có thể thay thế j^2 bằng -1 bất cứ khi nào bạn nhìn thấy nó

Các phép toán số học trên số phức

Giống như trong số thực, bạn có thể thực hiện các phép tính toán học trên các số phức như cộng, nhân, v.v. Hãy xem một số ví dụ

z1 = 6 + 7j
z2 = 1 + 4j

print("Addition of numbers:", z1 + z2)
print("Subtraction of numbers:", z1 - z2)
print("Multiplication of numbers:", z1 * z2)
print("Division of numbers:", z1 / z2)

Các kết quả đầu ra là

Addition of numbers: (7+11j)
Subtraction of numbers: (5+3j)
Multiplication of numbers: (-22+31j)
Division of numbers: (2-1j)

Số thực và số ảo được tính riêng

Bạn cũng có thể thực hiện phép toán hàm mũ với toán tử nhị phân(**) nhưng bạn không thể thực hiện phép toán đó với mô-đun

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
1

Ghi chú. Số phức không hỗ trợ phép chia tầng(

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
2) và toán tử so sánh(
z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
3)

Python z = complex(5, 7) print("Output:", z) # Output: (5+7j) z = complex(3) print("Output:", z) # Output: (3+0j) z = complex() print("Output:", z) # Output: 0j z = complex('1+1j') print("Output:", z) # Output: 1+1j z = complex(1, -4) print("Output:", z) # Output: 1-4j 4 chức năng mô-đun

Mô-đun

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
4 trong python giúp sử dụng các hàm toán học nâng cao như hàm lượng giác, logarit, lũy thừa và nhật ký, v.v. Bạn có thể sử dụng mô-đun
z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
1 để sử dụng các hàm này nhưng chỉ dành cho số thực vì nó không hỗ trợ số phức. Module
z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
4 giúp sử dụng các hàm này cho số phức

Mô-đun

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
4 cũng bao gồm các hằng số như pi, e, inf, nan, v.v. có thể được sử dụng trong tính toán. Bạn có thể tìm hiểu thêm các hàm và hằng số từ trang web chính thức

Hãy xem một số chức năng có thể được thực hiện trên các số phức

import cmath

z = 4 + 2j

# Power and log functions like log2, log10, sqrt
# Power function
print("e^z:", cmath.exp(z))

# Logarithm function
print("log2(z):", cmath.log(z, 2))

# Trigonometric functions
# For sine value
print("Sine Value:", cmath.sin(z))

# For cosine value
print("Arc Sine Value:", cmath.asin(z))

# Hyperbolic functions
# For hyperbolic sine value
print("Hyperbolic Sine Value:", cmath.sinh(z))

# For Inverse hyperbolic sine value
print("Inverse Hyperbolic Sine Value:", cmath.asinh(z))

Các kết quả đầu ra là

e^z: (-22.720847417619233+49.645957334580565j)
log2(z): (2.1609640474436813+0.6689021062254881j)
Sine Value: (-2.8472390868488278-2.3706741693520015j)
Arc Sine Value: (1.096921548830143+2.183585216564564j)
Hyperbolic Sine Value: (-11.356612711218174+24.83130584894638j)
Inverse Hyperbolic Sine Value: (2.198573027920936+0.4538702099631225j)

Chức năng khác

Các hàm này giúp chúng ta xác định xem số phức là nan, vô hạn hay hữu hạn. Chúng cũng giúp ta kiểm tra xem các số phức có gần nhau không. Các giá trị trả về sẽ là true hoặc false

Chúng sẽ trả về true khi cả phần thực và phần ảo là hữu hạn, vô hạn hoặc nan, nếu không bạn sẽ trả về false

Hãy xem một số ví dụ về số phức

import cmath

# Check if they are finite
print(cmath.isfinite(4 + 1j))        # True

# Check if they are infinite
print(cmath.isinf(4 + 1j))           # False

# Above result is false as z is already finite, it can't be infinite. 
# We can make it infinite by making real number infinite.
print(cmath.isinf(cmath.inf + 1j))   # True        

# Check if they are nan
print(cmath.isnan(4 + 1j))           # False

# Above result is false because the real number is true. 
# You can make the result by changing the real number to nan.
print(cmath.isnan(cmath.nan + 1j))            # True

# Check if two numbers are close 
print(cmath.isclose(1 + 1j, 1.02 + 0.8j, rel_tol=0.5))  #True
print(cmath.isclose(1 + 1j, 1.02 + 0.8j, abs_tol=0.05)) # False

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
9 là dung sai tương đối là chênh lệch tối đa được phép và phải lớn hơn 0. abs_tol là dung sai tuyệt đối, là chênh lệch tối thiểu được phép và ít nhất phải bằng 0 hoặc gần bằng 0

Bạn có thể nghịch đảo kết quả bằng cách thay đổi số thực

hằng số

Có một số hằng số có thể được sử dụng trong tính toán. Hãy xem những hằng số đó

import cmath

# Value of pi
print("pi:", cmath.pi)

# Value of e
print("e:", cmath.e)

# Positive Infinity
print("Positive infinity:", cmath.inf)

# Complex number: zero real part and positive infinity imaginary part
print("Positive complex infinity:", cmath.infj)

# Not a number value
print("NaN value:", cmath.nan)

# Complex number: zero real part and NaN imaginary part
print("NaN complex value:", cmath.nanj)

Các kết quả đầu ra là

pi: 3.141592653589793
e: 2.718281828459045
Positive infinity: inf
Positive complex infinity: infj
NaN value: nan
NaN complex value: nanj

Phần kết luận

Các chức năng được xác định trong mô-đun

z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
4 tương tự như với mô-đun
z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
1 nhưng chúng không giống nhau. Kết quả mà bạn nhận được sau khi sử dụng mô-đun
z = complex(5, 7)
print("Output:", z)
# Output: (5+7j) 

z = complex(3)
print("Output:", z)
# Output: (3+0j)

z = complex()
print("Output:", z)
# Output: 0j

z = complex('1+1j')
print("Output:", z)
# Output: 1+1j

z = complex(1, -4)
print("Output:", z)
# Output: 1-4j
4 sẽ luôn là một số phức ngay cả khi giá trị là số thực, trong trường hợp đó, giá trị của phần ảo sẽ bằng không

Trong bài viết này, bạn đã học về số phức và mô-đun cmath cung cấp nhiều hàm và hằng số khác nhau mà bạn có thể sử dụng cho số phức

Python có thể xử lý các số ảo không?

Không chỉ số thực, Python còn có thể xử lý số phức và các hàm liên quan bằng cách sử dụng tệp “cmath” . Số phức được sử dụng trong nhiều ứng dụng liên quan đến toán học và python cung cấp các công cụ hữu ích để xử lý và thao tác với chúng.

Tại sao Python sử dụng J cho các số ảo?

Python đã thông qua quy ước được các kỹ sư điện sử dụng. Trong trường đó, i được dùng để biểu thị dòng điện và sử dụng j làm căn bậc hai của -1 .

Tôi trong 2i là gì?

2i là số ảo vì nó có dạng 'bi' Hãy nhớ rằng, 'i' là đơn vị ảo và bằng .