复数一般表示为a+bi(a、b为有理数),在python中i被挪着它用,虚数单位是不区分大小写的J。
(笔记模板由python脚本于2023年12月19日 18:58:39创建,本篇笔记适合认识复数的coder翻阅)
Python 官网:https://www.python.org/
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
本文质量分:
CSDN质量分查询入口:http://www.csdn.net/qc
这个问题,激起了我对复数的兴趣,更想了解她在Python中的种种。
我搜索学习了复数的相关数学知识点,拜读过csdn大佬关于复数在python的文章,摘珠成串,以识备查,凝结此文。
复数定义
一般地
复数可以分为两类数:实数、虚数
实数、虚数都是复数;不存在既是实数,又是虚数的复数;任何一个复数,不属于实数就属于虚数,二者必居其一。
我们把形如 z = a +bi (a、b均为实数)的数称为复数。
其中,a 称为实部,b 称为虚部,i 称为虚数单位,满足 i2 = −1。
当 z 的虚部 b=0 时,则 z 为实数;
当 z 的虚部 b≠0 时,实部 a=0 时,常称 z 为纯虚数。
百科词条
Python中
1、虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起构成一个复数;
2、复数由实数部分和虚数部分构成;
3、表示复数的语法:real + (image)j;
4、实数部分和虚数部分都是浮点数;
5、虚数部分必须有后缀j或J。
复数(Complex)是Python的内置类型,直接书写即可。换句话说,Python 语言本身就支持复数,而不依赖于标准库或者第三方库。
复数由实部(real)和虚部(imag)构成,在Python中,复数的虚部以j或者J作为后缀,具体格式为:a + bj,a表示实部,b表示虚部。
Python中虚部的单位是j而不是i,且反常地不分大小,大小写字母同质。
复数在python中是 (a+bj) 或者 (a+bJ) 的形式,把虚数单位常用的字母i换成了j,且无一例外地不区分大小写字母,大小写效果、作用等同。要知道,python中一般都是“大小写字母敏感”的,大小写字母视为不同的对象。
>>>
>>>
>>> z = 4+5j
>>> z2 = 8-4J
>>> z, z2
((4+5j), (8-4j))
>>> type(z), type(z2)
(<class 'complex'>, <class 'complex'>)
>>>
>>>
>>> z3 = complex(6, 9)
>>> z4 = complex(8, -2)
>>> z3, z4
((6+9j), (8-2j))
>>> type(z3), type(z4)
(<class 'complex'>, <class 'complex'>)
>>>
>>>
>>>
>>> z.real
4.0
>>> z.imag
5.0
>>> z
(4+5j)
>>> z3
(6+9j)
>>> z3.imag
9.0
>>> z3.real
6.0
一般地,两个复数只能说相等或不相等,而不能比较大小。如果两个复数都是实数,就可以比较大小,也只有当两个复数全是实数时才能比较大小。
Python中的复数是由实部和虚部构成的数学对象。在Python中,可以使用后缀j或J来表示虚部,例如 1+2j 。复数在Python中支持常见的算术运算,如加法、减法、乘法和除法。
首先是复数相等的定义:如果两个复数实部和虚部分别相等,我们就说这两个复数相等。
数集的结构和数系的扩充:人们通常在数集上建立两种结构:运算结构与序结构。比较大小就是研究序结构。
运算法则
加减法法则
复数的加减法法则:设z1=a+bi,z2=c+di是任意两个复数。两者和的实部是原来两个复数实部的和,它的虚部是原来两个虚部的和。两个复数的和依然是复数。
乘法法则
复数的乘法法则:把两个复数相乘,类似两个多项式相乘,结果中i2=-1,把实部与虚部分别合并。两个复数的积仍然是一个复数。
除法法则
运算方法:将分子和分母同时乘以分母的共轭复数,再用乘法法则运算。
【详见复数百科词条】
Python代码
a = 4.6 + 5.2j
b = 6.9 - 2.2J
print(f"\n有复数 a = {a},b = {b}\n\n type(a) = {type(a)}\n type(b) = {type(b)}\n\n a + b = {a + b}\n a - b = {a - b}\n a × b = {a * b}\n a / b = {a / b}")
#a > b # 不可以比较复数大小,除非虚部为零(即只有实部的复数)。
试炼代码
#!/sur/bin/nve python
# coding: utf-8
z = 4-3j
z2 = complex(9, 7)
a, b = z.real, z.imag
c, d = z2.real, z2.imag
s = '''
两复数相乘(多项式相乘):
∵ (a + bj)(c + dj)
= ac + bcj + adj + bdj^2
'''
newReal = a*c + b*d*(-1)
newImag = b*c + a*d
print(f"\n有俩复数:{z}, {z2}\n\n{s}\n∴ {z}×{z2} 的结果:\n 实部 {a}×{c} + {b}×{d}×(-1) = {newReal}\n 虚部 {b}×{c} + {a}×{d} = {newImag}\n\n所以 {z}×{z2}j = {newReal}{newImag if newImag < 0 else f'+{newImag}'}j\n\n∵ Python计算:\n {z}×{z2} = {z*z2}\n\n∴ {f'{newReal}+{newImag}j'} == {z}{z2} is {eval(f'{newReal}+{newImag}j') == z*z2}")
Python代码
a = 6.6 + 0.2j
b = 9.9 - 9.2J
print(f"\n有复数 a = {a},b = {b}\n\na == b is {a == b}\n\n(7-6)+3j == (7-6)+3j is {(7-6)+3j == (7-6)+3j}")
Python中有专门为复数准备了复杂数学运算的模块,可以进行开平方、对数、三角函数等相对复杂的复数数学运算。
Python中的复数
Python中的虚数部分后缀j
Python中的复数数学运算模块cmath
我的HOT博:
本次共计收集289篇博文笔记信息,总阅读量44.72w。数据采集于2023年12月11日 23:07:13,用时5分11.8秒。阅读量不小于4.0k的有17篇。
精品文章:
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
CSDN实用技巧博文: