复数的数学运算

复数可以用使用函数 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 "", line 1, in ValueError: math domain error

>>>

如果你想生成一个复数返回结果,你必须显示的使用 cmath 模块,或者在某个支持复数的库中声明复数类型的使用。比如:

>>> import cmath

>>> cmath.sqrt(-1)

1j

>>>

'''

复数是由一个实数和一个虚数组合构成,表示为:x+yj

一个负数时一对有序浮点数(x,y),其中x是实数部分,y是虚数部分。

Python语言中有关负数的概念:

1、虚数不能单独存在,它们总是和一个值为0.0的实数部分一起构成一个复数

2、复数由实数部分和虚数部分构成

3、表示虚数的语法:real+imagej

4、实数部分和虚数部分都是浮点数

5、虚数部分必须有后缀j或J

复数的内建属性:

复数对象拥有数据属性,分别为该复数的实部和虚部。

复数还拥有conjugate方法,调用它可以返回该复数的共轭复数对象。

复数属性:real(复数的实部)、imag(复数的虚部)、conjugate()(返回复数的共轭复数)

'''

python复数运算程序,【python基础】——python 复数运算相关推荐

  1. python刷leetcode_零基础python刷leetcode -- 3. Longest Substring Without Repeating Characters

    算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,和我一起开始零基础python刷leetcode之旅吧.如有不对的地方,希望指正,万分感谢~~ 题目 最 ...

  2. python自学路线-零基础Python学习路线,小白的进阶之路!

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  3. python刷leetcode_零基础python刷leetcode -- 1. Two Sum

    算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,从第一题开始,从简单题开始零基础python刷leetcode之旅. Two Sum 首先过一下pyth ...

  4. 编程小白学python路线图_零基础Python学习路线图,让你少走弯路

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  5. spark编程基础python版 pdf_Spark编程基础Python版-第5章-Spark-SQL.pdf

    <Spark编程基础(Python版)> 教材官网:/post/spark-python/ 温馨提示:编辑幻灯片母版,可以修改每页PPT的厦大校徽和底部文字 第5章Spark SQL (P ...

  6. python程序实例教程基础-Python程序设计实例教程

    图书简介 配套资源:电子课件,习题答案,教学大纲,源代码 本书特色: ★本书共14个项目,主要包括Python编程基础.网络爬虫.数据分析和数据可视化四大部分内容. ★全部代码适用于Python 3. ...

  7. python程序实例教程基础-Python程序设计案例教程——从入门到机器学习(微课版)...

    第1章Python语言快速入门1 1.1Python的安装与配置1 1.2运行Python程序2 1.2.1运行Python的方式2 1.2.2Python编写规范4 1.3编写简单的Python程序 ...

  8. 怎么自学python语言-python应用:零基础Python应该怎样学习呢?

    Python应该怎样学习呢?Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立 ...

  9. python入门要什么基础-python需要什么基础

    python需要的基础包括:1.有较强的逻辑思维能力:2.有较强的数理专业背景:3.有丰富的运维经验:4.从事web全栈开发工作:5.熟悉一些前端的知识等等. 虽然国内大学开设Python的不多,但并 ...

  10. python程序实例教程基础-Python简单基础小程序的实例代码

    1 九九乘法表 for i in range(9):#从0循环到8 i += 1#等价于 i = i+1 for j in range(i):#从0循环到i j += 1 print(j,'*',i, ...

最新文章

  1. 火狐放不了html5 video MP4格式
  2. wavecn 2.0.0.5 正式版_谷歌Android Studio 3.5正式版发布:稳步推进Project Marble计划
  3. LeetCode 2210. 统计数组中峰和谷的数量
  4. 计算机网络概述(一)
  5. 通过对象引用访问成员
  6. Mysql8秒级加字段_MySQL8.0大表秒加字段,是真的吗?
  7. c编程连接mysql
  8. html布局源代码实例,网页实际案例-从设计到代码实现全过程(一)
  9. MindMaster如何恢复未保存的内容
  10. Excel 2010 VBA 入门 033 批量合并相同的单元格
  11. 在houdini里,怎么手动设置输出物体的红绿蓝通道,便于nuke调节使用(基础篇)
  12. python调用woff_GitHub - zergtant/python-maoyan-spider: woff-xml解码 “猫眼网反爬虫机制” 的爬虫。...
  13. 作业二:词云制作 使用软件wordart
  14. Holacracy(合弄制)------一种新的管理方法
  15. 一篇文章搞定IO流(超级详细!!!)
  16. 盘点丨全球政府机构十大网络安全事件
  17. oracle中04091,ORA-04091和Compound Trigger(Oracle 11g)
  18. Java训练01“ 根据身高体重计算BMI指数”
  19. 数值分析案例:Newton插值预测2019城市(Asian)温度、Crout求解城市等温性的因素系数
  20. 360浏览器:一键恢复收藏夹

热门文章

  1. WiFi WMM详解
  2. 网吧模式一台服务器拖显示器,这台曲面显示器令你网咖保持长久战斗力
  3. 通过蒲公英组件异地内网服务
  4. 自媒体写作如何变现?5招教你成为自媒体达人
  5. 第四篇 - 手写RPC框架
  6. 单烤fpu和双烤_天选游戏本散热测试:双烤不降频,冰川散热系统惊喜满满!
  7. HTML canvas画圆
  8. HLA Epitope Registry-HLA抗原表位数据库
  9. 单细胞基础分析 对细胞按照基因marker进行分型(ACC脑区)
  10. 《炬丰科技-半导体工艺》用于选择性蚀刻的加热SC1溶液