Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Số phức trong Python
Python không chỉ hỗ trợ các số thực mà còn làm việc với cả số phức. Điều này đặc biệt hữu ích trong các bài toán toán học phức tạp. Python cung cấp các công cụ mạnh mẽ để xử lý và thao tác với số phức.
Số phức được tạo thành từ hai phần: phần thực và phần ảo. Trong Python, bạn có thể tạo số phức trực tiếp hoặc sử dụng hàm complex. Cú pháp của số phức là dạng (x + yj), trong đó:
-
x là phần thực,
-
y là phần ảo,
Bài viết này được đăng tại [free tuts .net]
-
j là đơn vị số ảo (căn bậc hai của -1).
Cú pháp hàm complex
trong Python
complex([real[, imag]])
real
: Phần thực (bắt buộc), mặc định là 0. Có thể truyền vào dạng chuỗi (ví dụ:'1+1j'
) và trong trường hợp này, phần ảo sẽ bị bỏ qua.imag
: Phần ảo (tùy chọn), mặc định là 0.
Ví dụ về tạo số phức
z = complex(5, 7) print("Kết quả:", z) # Kết quả: (5+7j) z = complex(3) print("Kết quả:", z) # Kết quả: (3+0j) z = complex() print("Kết quả:", z) # Kết quả: 0j z = complex('1+1j') print("Kết quả:", z) # Kết quả: 1+1j
Các thuộc tính của số phức
Python cung cấp các thuộc tính để truy cập thông tin của số phức:
z = 3 + 4j print("Phần thực:", z.real) # Kết quả: 3.0 print("Phần ảo:", z.imag) # Kết quả: 4.0 print("Số liên hợp:", z.conjugate()) # Kết quả: 3-4j
Ghi chú: Số ảo tuân theo quy tắc:
j² = -1
Các phép toán số học trên số phức trong python
Giống như số thực, bạn có thể thực hiện các phép toán như cộng, trừ, nhân, chia với số phức:
z1 = 6 + 7j z2 = 1 + 4j print("Phép cộng:", z1 + z2) print("Phép trừ:", z1 - z2) print("Phép nhân:", z1 * z2) print("Phép chia:", z1 / z2)
Kết quả:
- Phép cộng:
(7+11j)
- Phép trừ:
(5+3j)
- Phép nhân:
(-22+31j)
- Phép chia:
(2-1j)
Lưu ý: Số phức không hỗ trợ phép chia lấy phần nguyên (
//
) và các toán tử so sánh (<
,>
,<=
,>=
).
Thư viện cmath
trong python
Thư viện cmath
hỗ trợ các phép toán toán học nâng cao cho số phức như lượng giác, logarit, hàm mũ, v.v.
Ví dụ:
import cmath z = 4 + 2j # Hàm mũ print("e^z:", cmath.exp(z)) # Logarit print("log2(z):", cmath.log(z, 2)) # Hàm lượng giác print("sin(z):", cmath.sin(z)) print("cos(z):", cmath.cos(z)) # Hàm hyperbolic print("sinh(z):", cmath.sinh(z)) print("asinh(z):", cmath.asinh(z))
Các hàm khác trong python
Thư viện cmath
còn cung cấp các hàm để kiểm tra tính chất của số phức:
import cmath # Kiểm tra số hữu hạn print(cmath.isfinite(4 + 1j)) # True # Kiểm tra số vô hạn print(cmath.isinf(4 + 1j)) # False # Kiểm tra giá trị NaN print(cmath.isnan(4 + 1j)) # False
Hằng số trong cmath
import cmath print("pi:", cmath.pi) # 3.141592653589793 print("e:", cmath.e) # 2.718281828459045 print("Vô cực dương:", cmath.inf) # inf print("NaN:", cmath.nan) # nan
Kết bài
Thư viện cmath
cung cấp các công cụ mạnh mẽ để làm việc với số phức, giúp bạn thực hiện nhiều phép toán từ cơ bản đến nâng cao. Qua bài viết này, bạn đã nắm được cách tạo, sử dụng, và thao tác với số phức trong Python cũng như ứng dụng thư viện cmath
.