Python lấy phần thực của số phức

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Trình chỉnh sửa mã Python

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python chuyển đổi số nhị phân sang số thập phân.
Tiếp theo. Viết chương trình Python để cộng, trừ, nhân và chia hai số phức.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



con trăn. Lời khuyên trong ngày

Loại bỏ các bản sao

Nó chỉ nhận các giá trị duy nhất, nó có thể thay đổi và giống như từ điển, nó không có thứ tự

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]

x=set[lst]
print[x]

đầu ra

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]

Đối tượng mới sẽ có kiểu "đặt"

lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]

đầu ra

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]

Nếu bạn muốn khắc phục chuyển đổi loại và giữ dữ liệu của mình dưới dạng danh sách, chỉ cần thêm hàm danh sách như bên dưới và nó sẽ ở dạng danh sách sau khi hàm set loại bỏ tất cả các bản sao

Mô-đun này cung cấp quyền truy cập vào các hàm toán học cho các số phức. Các hàm trong mô-đun này chấp nhận số nguyên, số dấu phẩy động hoặc số phức làm đối số. Họ cũng sẽ chấp nhận bất kỳ đối tượng Python nào có phương thức

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
5 hoặc
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
6. các phương thức này được sử dụng để chuyển đổi đối tượng thành số phức hoặc số dấu phẩy động tương ứng và sau đó hàm được áp dụng cho kết quả của chuyển đổi

Ghi chú

Trên các nền tảng có hỗ trợ cấp phần cứng và hệ thống cho các số 0 đã ký, các chức năng liên quan đến các lần cắt nhánh liên tục ở cả hai phía của lần cắt nhánh. dấu hiệu của số 0 phân biệt một bên của nhánh bị cắt với bên kia. Trên các nền tảng không hỗ trợ số không có dấu, tính liên tục được chỉ định bên dưới

Chuyển đổi sang và từ tọa độ cực¶

Số phức Python

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
7 được lưu trữ nội bộ bằng cách sử dụng tọa độ hình chữ nhật hoặc Cartesian. Nó được xác định hoàn toàn bởi phần thực của nó
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
8 và phần ảo của nó
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
9. Nói cách khác

z == z.real + z.imag*1j

Tọa độ cực đưa ra một cách khác để biểu diễn một số phức. Trong tọa độ cực, một số phức z được xác định bởi môđun r và góc pha phi. Mô đun r là khoảng cách từ z đến gốc tọa độ, trong khi pha phi là góc ngược chiều kim đồng hồ, được đo bằng radian, từ trục x dương đến đoạn thẳng nối gốc tọa độ với z

Các chức năng sau có thể được sử dụng để chuyển đổi từ tọa độ hình chữ nhật gốc sang tọa độ cực và ngược lại

cmath. giai đoạn[x]

Trả về pha của x [còn được gọi là đối số của x], dưới dạng float.

lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
0 tương đương với
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
1. Kết quả nằm trong khoảng [-π, π] và nhánh cắt của phép toán này nằm dọc theo trục thực âm, liên tục từ trên xuống. Trên các hệ thống hỗ trợ số 0 có dấu [bao gồm hầu hết các hệ thống đang sử dụng hiện tại], điều này có nghĩa là dấu của kết quả giống với dấu của
>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
0, ngay cả khi
>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
0 bằng 0

>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793

Ghi chú

Mô đun [giá trị tuyệt đối] của một số phức x có thể được tính bằng hàm

>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
2 tích hợp. Không có chức năng mô-đun
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
2 riêng biệt cho thao tác này

cmath. cực[x]

Trả về biểu diễn của x trong tọa độ cực. Trả về một cặp

>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
4 trong đó r là mô đun của x và phi là pha của x.
>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
5 tương đương với
>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
6

cmath. chính[r , phi]

Trả về số phức x với tọa độ cực r và phi. Tương đương với

>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
7

Hàm lũy thừa và logarit¶

cmath. exp[x]

Trả về e lũy thừa x, trong đó e là cơ số của logarit tự nhiên

cmath. log[x[ , base]]

Trả về logarit của x với cơ số đã cho. Nếu cơ số không được chỉ định, trả về logarit tự nhiên của x. Có 1 nhánh cắt, từ 0 dọc theo trục thực âm đến -∞, liên tục từ trên xuống

cmath. log10[x]

Trả về logarit cơ số 10 của x. Cái này có cùng nhánh bị cắt như

>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
8

cmath. sqrt[x]

Trả về căn bậc hai của x. Cái này có cùng nhánh bị cắt như

>>> phase[complex[-1.0, 0.0]]
3.141592653589793
>>> phase[complex[-1.0, -0.0]]
-3.141592653589793
8

Hàm lượng giác¶

cmath. acos[x]

Trả về cung cosin của x. Có hai nhánh cắt. Một kéo dài sang phải từ 1 dọc theo trục thực đến ∞, liên tục từ bên dưới. Cái còn lại kéo dài sang trái từ -1 dọc theo trục thực đến -∞, liên tục từ phía trên

cmath. asin[x]

Trả về cung sin của x. Cái này có cùng cách cắt nhánh như

lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
20

cmath. atan[x]

Trả về cung tiếp tuyến của x. Có hai nhánh cắt. Một kéo dài từ

lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
21 dọc theo trục tưởng tượng đến
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
22, liên tục từ bên phải. Cái còn lại kéo dài từ
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
23 dọc theo trục tưởng tượng đến
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
24, liên tục từ bên trái

cmath. cos[x]

Trả về cosin của x

cmath. tội lỗi[x]

Trả về sin của x

cmath. tan[x]

Trả về tang của x

Các hàm hypebol¶

cmath. acosh[x]

Trả về cosin hyperbol nghịch đảo của x. Có 1 nhát cắt nhánh, kéo dài sang trái từ 1 dọc theo trục thực đến -∞, liên tục từ trên xuống

cmath. asinh[x]

Trả về sin hyperbol nghịch đảo của x. Có hai nhánh cắt. Một kéo dài từ

lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
21 dọc theo trục tưởng tượng đến
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
22, liên tục từ bên phải. Cái còn lại kéo dài từ
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
23 dọc theo trục tưởng tượng đến
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
24, liên tục từ bên trái

cmath. atanh[x]

Trả về tang hyperbol nghịch đảo của x. Có hai nhánh cắt. Một kéo dài từ

lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
29 dọc theo trục thực đến
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
50, liên tục từ bên dưới. Cái còn lại kéo dài từ
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
51 dọc theo trục thực đến
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
52, liên tục từ phía trên

cmath. cosh[x]

Trả về cosin hyperbol của x

cmath. sinh[x]

Trả về sin hyperbol của x

cmath. tánh[x]

Trả về tang hyperbol của x

Chức năng phân loại¶

cmath. là hữu hạn[x]

Trả về

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
53 nếu cả phần thực và phần ảo của x đều hữu hạn, và ngược lại là
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
54

Mới trong phiên bản 3. 2

cmath. isinf[x]

Trả về

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
53 nếu phần thực hoặc phần ảo của x là vô cùng và
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
54 nếu ngược lại

cmath. isnan[x]

Trả về

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
53 nếu phần thực hoặc phần ảo của x là NaN và ngược lại là
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
54

cmath. tiết lộ[a , b . 0, *, rel_tol=1e-09, abs_tol=0.0]

Trả về

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
53 nếu giá trị a và b gần nhau và ngược lại là
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
54

Việc hai giá trị có được coi là gần hay không được xác định theo dung sai tuyệt đối và tương đối đã cho

rel_tol là dung sai tương đối – đó là chênh lệch tối đa được phép giữa a và b, so với giá trị tuyệt đối lớn hơn của a hoặc b. Ví dụ: để đặt dung sai là 5%, hãy vượt qua

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
61. Dung sai mặc định là
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
62, đảm bảo rằng hai giá trị giống nhau trong khoảng 9 chữ số thập phân. rel_tol phải lớn hơn 0

abs_tol là dung sai tuyệt đối tối thiểu – hữu ích khi so sánh gần bằng không. abs_tol ít nhất phải bằng 0

Nếu không có lỗi xảy ra, kết quả sẽ là.

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
63

Các giá trị đặc biệt của IEEE 754 của

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
64,
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
65 và
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
66 sẽ được xử lý theo quy tắc của IEEE. Cụ thể,
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
64 không được coi là gần với bất kỳ giá trị nào khác, kể cả
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
64.
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
65 và
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
66 chỉ được coi là thân thiết với nhau

Mới trong phiên bản 3. 5

Xem thêm

PEP 485 – Hàm kiểm tra đẳng thức gần đúng

Hằng số¶

cmath. pi

Hằng số toán học π, dưới dạng float

cmath. e

Hằng số toán học e, dưới dạng float

cmath. tau

Hằng số toán học τ, dưới dạng float

Mới trong phiên bản 3. 6

cmath. inf

Dấu chấm động vô cực dương. Tương đương với

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
71

Mới trong phiên bản 3. 6

cmath. infj

Số phức có phần thực bằng 0 và phần ảo dương vô cùng. Tương đương với

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
72

Mới trong phiên bản 3. 6

cmath. nan

Giá trị dấu chấm động “không phải là số” [NaN]. Tương đương với

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
73

Mới trong phiên bản 3. 6

cmath. nanj

Số phức không có phần thực và phần ảo NaN. Tương đương với

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
74

Mới trong phiên bản 3. 6

Lưu ý rằng việc lựa chọn các chức năng tương tự, nhưng không giống hệt với chức năng trong mô-đun

lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
75. Lý do có hai mô-đun là một số người dùng không quan tâm đến số phức và thậm chí có thể không biết chúng là gì. Họ thà để
lst=[1,2,2,2,2,3,4,4,5,6,7,8,9,10]
76 nêu ra một ngoại lệ hơn là trả về một số phức. Cũng lưu ý rằng các hàm được xác định trong
lst=[1,2,2,2,2,3,4,4,5,6,7]

a=set[lst]
print[type[x]]
2 luôn trả về một số phức, ngay cả khi câu trả lời có thể được biểu thị dưới dạng số thực [trong trường hợp đó, số phức có phần ảo bằng 0]

Lưu ý khi cắt cành. Chúng là những đường cong dọc theo đó hàm đã cho không liên tục. Chúng là một tính năng cần thiết của nhiều chức năng phức tạp. Giả sử nếu bạn cần tính toán với các hàm phức tạp, bạn sẽ hiểu về cắt nhánh. Tham khảo hầu hết mọi cuốn sách [không quá cơ bản] về các biến phức tạp để được khai sáng. Để biết thông tin về việc lựa chọn cắt nhánh phù hợp cho các mục đích số, một tài liệu tham khảo tốt nên là tài liệu sau

Xem thêm

Kahan, W. Cắt nhánh cho các chức năng cơ bản phức tạp; . Ở Iserles, A. và Powell, M. [biên tập. ], Nhà nước của nghệ thuật trong phân tích số. Clarendon Press [1987] trang 165–211

Chủ Đề