Penggunaan bilangan kompleks dalam python [tertutup]

111

Saya seorang pemula matematika. Sekarang saya masuk lebih dalam ke tipe data Python. Saya tidak mengerti cara menggunakan bilangan kompleks. Tolong beri saya contoh penggunaan bilangan kompleks dengan Python.

I159
sumber
1
Saat Anda mengatakan bahwa Anda baru mengenal matematika, dapatkah Anda menulis apa yang ingin Anda lakukan dalam notasi matematika?
mmmmmm
14
Saya tidak berpikir ini seharusnya ditutup. Saya juga merasa bingung bahwa python menggunakan sintaks imajiner 'j' yang umum dalam teknik daripada sintaks 'i' yang lebih intuitif yang umum dalam matematika, statistik, R, dll. Jawaban pertama di bawah ini melakukan pekerjaan yang baik dengan memperkenalkannya.
Mittenchops
Tampaknya docbug resmi pada Python yang help(complex)tidak menunjukkan contoh apa pun, tidak seperti misalnya `import decimal; bantuan (desimal) `
smci

Jawaban:

188

Dalam python, Anda dapat meletakkan 'j' atau 'J' setelah angka untuk menjadikannya imajiner, sehingga Anda dapat menulis literal kompleks dengan mudah:

>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

Akhiran 'j' berasal dari teknik kelistrikan, di mana variabel 'i' biasanya digunakan untuk arus. ( Penalaran ditemukan di sini. )

Tipe dari bilangan kompleks adalahcomplex , dan Anda dapat menggunakan tipe sebagai konstruktor jika Anda lebih suka:

>>> complex(2,3)
(2+3j)

Bilangan kompleks memiliki beberapa pengakses bawaan:

>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

Beberapa fungsi bawaan mendukung bilangan kompleks:

>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

Modul standarcmath memiliki lebih banyak fungsi yang menangani bilangan kompleks:

>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)
merampok mayoff
sumber
8
'i' juga digunakan oleh ahli matematika, fisikawan, dan hampir semua ilmuwan lainnya. Jika itu tidak cukup membingungkan, beberapa menggunakan 'i' untuk mewakili akar kuadrat "positif" dari satu, sedangkan 'j' adalah akar kuadrat "negatif" dari satu. Jadi i == -j. FYJ ...
jvriesem
13

Contoh berikut untuk bilangan kompleks harus cukup jelas termasuk pesan kesalahan di bagian akhir

>>> x=complex(1,2)
>>> print x
(1+2j)
>>> y=complex(3,4)
>>> print y
(3+4j)
>>> z=x+y
>>> print x
(1+2j)
>>> print z
(4+6j)
>>> z=x*y
>>> print z
(-5+10j)
>>> z=x/y
>>> print z
(0.44+0.08j)
>>> print x.conjugate()
(1-2j)
>>> print x.imag
2.0
>>> print x.real
1.0
>>> print x>y

Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    print x>y
TypeError: no ordering relation is defined for complex numbers
>>> print x==y
False
>>> 
Abhijit
sumber