Python: 复数的数学运算
Python 运算 数学 复数
2023-09-14 09:07:33 时间
写的最新的网络认证方案代码遇到了一个难题,唯一的解决办法就是使用复数空间,需要使用复数来执行一些计算操作。
复数可以用使用函数complex(real, imag) 或者是带有后缀j 的浮点数来指定。
比如:
>>> a = complex(2, 4) >>> b = 3 - 5j >>> a (2+4j) >>> b (3-5j)
对应的实部、虚部和共轭复数可以很容易的获取。就像下面这样:
>>> a.real 2.0 >>> a.imag 4.0 >>> a.conjugate() (2-4j)
另外,所有常见的数学运算都可以工作:
>>> a + b (5-1j) >>> a * b (26+2j) >>> a / b (-0.4117647058823529+0.6470588235294118j) >>> abs(a) 4.47213595499958
如果要执行其他的复数函数比如正弦、余弦或平方根,使用cmath 模块:
>>> import cmath >>> cmath.sin(a) (24.83130584894638-11.356612711218174j) >>> cmath.cos(a) (-11.36423470640106-24.814651485634187j) >>> cmath.exp(a) (-4.829809383269385-5.5920560936409816j)
Python 中大部分与数学相关的模块都能处理复数。比如如果你使用numpy ,可以很容易的构造一个复数数组并在这个数组上执行各种操作:
>>> import numpy as np >>> a = np.array([2+3j, 4+5j, 6-7j, 8+9j]) >>> a array([ 2.+3.j, 4.+5.j, 6.-7.j, 8.+9.j]) >>> a + 2 array([ 4.+3.j, 6.+5.j, 8.-7.j, 10.+9.j]) >>> np.sin(a) array([ 9.15449915 -4.16890696j, -56.16227422 -48.50245524j, -153.20827755-526.47684926j, 4008.42651446-589.49948373j])
Python 的标准数学函数确实情况下并不能产生复数值,因此你的代码中不可能会
出现复数返回值。比如:
>>> import math >>> math.sqrt(-1) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: math domain error
如果你想生成一个复数返回结果,你必须显示的使用cmath 模块,或者在某个支
持复数的库中声明复数类型的使用。比如:
>>> import cmath >>> cmath.sqrt(-1) 1j
相关文章
- 如何通过python代码解压zip包
- 【学习总结】Python-3-Python数字运算与数学函数
- Python中的浮点数原理与运算分析
- 蒙特卡罗仿真(2):醉汉的随机漫步仿真示例(Python实现)
- Python视觉深度学习系列教程 第二卷 第5章 使用神经网络集成提高准确性
- paip.执行shell cmd 命令uapi java php python总结
- 女生零基础转行学Java还是python好?
- Python图像处理丨三种实现图像形态学转化运算模式
- 【华为云技术分享】【Python算法】分类与预测——Python随机森林
- Python实现贝叶斯优化器(Bayes_opt)优化XGBoost分类模型(XGBClassifier算法)项目实战
- Python除法运算/、//、%、divmod
- python 中的 [-1::1] 啥意思
- python 文件不存在时才能写入,读写模式xt
- Python的幂运算
- 源码安装python 报错,openssl: error while loading shared libraries: libssl.so.1.1
- python 字符串join
- Python 位运算符号
- python里使用协程获取域名解释
- python web py入门(33)- 在HTML网页里嵌入JavaScript脚本
- python web py入门(28)- javascript的自增和自减运算
- python 多线程
- python-opencv知识总结之图像操作:创建、遍历、运算与查找
- Python学习笔记二之数据类型转换、推导式、运算符、数学运算函数、容器操作
- python工具方法27 训练时在线random resize的实现(支持图像分类与语义分割)
- 第19讲:Python中的字符串的创建、特殊字符穿、转义字符串、字符串运算、跨多行展示、字符串索引、反转与排序
- macOS python opencv 图像膨胀、必运算 开运算