分类专栏: python科学计算 文章标签: python
版权

100个numpy问题
100个左右的numpy问题帮助你熟练掌握numpy模块
勤奋的小乌贼
¥29.90
订阅博主
总是感觉搞懂了画图,然而每次遇到复数值的时候都感觉思路不是很清晰,比如,我们想要做函数numpy.exp(1j * x)的图像,我们可以看到此时当我们带入x值进入后会得到复数值。如果我们直接用该复数值作图就会遇到警告信息提示,代码如下:

import numpy as np
import matplotlib.pyplot as plt

vertex = np.pi
x = np.linspace(-vertex, vertex, 100)
f = np.exp(1j * x)

plt.figure()
plt.plot(x, f)
plt.show()
“”"
ComplexWarning: Casting complex values to real discards the imaginary part
return array(a, dtype, copy=False, order=order)
“”"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
我们可以看到提示信息说我们因为使用的是复数,所以自动丢弃了虚数部分,仅仅保留了实数部分,上述代码我们此时可以通过添加np.real()函数来消除这个警告信息。从这里我们也可以得出,matplotlib模块的画图命令要求输入参数应该为实数。

import numpy as np
import matplotlib.pyplot as plt

vertex = np.pi
x = np.linspace(-vertex, vertex, 100)
f = np.exp(1j * x)

plt.figure()
plt.plot(x, np.real(f))
plt.show()
1
2
3
4
5
6
7
8
9
10
此时我们消除了警告提示信息,并且成功输出了如下图像。
cosine
不难看出这实际上是一个余弦函数,因为我们知道欧拉公式:
e i x = c o s ( x ) + i s i n ( x ) e^{ix}=cos(x) + isin(x)
e
ix
=cos(x)+isin(x)

这里cos(x)是实部,sin(x)是虚部,因此当我们使用np.real(f)时,实际上我们去掉了sin(x)的部分,此时的e^{ix}函数实际变为了cos(x) 。最终不难看出,我们实际得到的图像也是cos(x) 的图像。
那么怎样才能得到e^{ix}函数的图像呢,答案是使用np.abs(f).代码如下:

import numpy as np
import matplotlib.pyplot as plt

vertex = np.pi
x = np.linspace(-vertex, vertex, 100)
f = np.exp(1j * x)

plt.figure()
plt.plot(x, np.abs(f))
plt.show()

1
2
3
4
5
6
7
8
9
10
11
e
可以看到我们最后获得的结果为一条恒为1的直线,这很好理解,e^{ix}图像实际上为一个单位圆,所以它本身的长度,即值恒等于1。由此我们可以得到结论,画图时,如果图像输入参数值为复数,我们想要得到原本函数图像,应该使用np.abs()函数对图像输入参数值进行处理而不是使用np.real()函数。

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

python画图遇到复数值数据时应该用numpy.abs()函数还是numpy.real()函数相关推荐

  1. python abs函数能否求复数模_python画图遇到复数值数据时应该用numpy.abs()函数还是numpy.real()函数...

    总是感觉搞懂了画图,然而每次遇到复数值的时候都感觉思路不是很清晰,比如,我们想要做函数numpy.exp(1j * x)的图像,我们可以看到此时当我们带入x值进入后会得到复数值.如果我们直接用该复数值 ...

  2. python画图时设置分辨率和画布大小-plt.figure()

    python画图时设置分辨率和画布大小 plt.figure() 示例: import numpy as np import pandas as pd import warnings warnings ...

  3. python画图时,中文无法正常显示的问题,RuntimeWarning: Glyph 26631 missing from current font. font.set_text(s, 0, fl

    python画图时,中文无法正常显示的问题,RuntimeWarning: Glyph 26631 missing from current font. font.set_text(s, 0, fla ...

  4. 在MAC下,使用anaconda,解决python画图时中文乱码

    在MAC下,使用anaconda,python画图时中文乱码 在mac电脑下,安装anaconda环境,使用python画图时,使用中文显示时,中文乱码. 可在网络上找到解决办法,添加下面两行代码: ...

  5. python画图时x轴自定义_python画图系列之个性化显示x轴区段文字的实例

    今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录. 界面如下所示: 代码如下所示: import matplotlib.pypl ...

  6. python画图-Python基础-画图:matplotlib

    Python画图主要用到matplotlib这个库.具体来说是pylab和pyplot这两个子库.这两个库可以满足基本的画图需求. pylab神器:pylab.rcParams.update(para ...

  7. 用python画图代码简单-【Matplotlib】利用Python进行绘图

    [Matplotlib] 教程:https://morvanzhou.github.io/tutorials/data-manipulation/plt/ 官方文档:https://matplotli ...

  8. python画图程序有图-python画图程序

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 今天做的是用python实现画图,画出你想要的图案,只要你的想象力足够丰富,以及 ...

  9. python画图-python画图的两种方法

    python如何画图?这里给大家介绍两款python绘图的库:turtle和Matplotlib. 1 安装turtle Python2安装命令:pip install turtule Python3 ...

最新文章

  1. JSP中的文件操作:数据流、File类、文件浏览、目录操作、上传下载
  2. 8、显示程序占用内存多少.txt
  3. 用户态与内核态的区别
  4. springboot-web开发(请求参数)
  5. 计算机的组成_计算机网络的组成和分类
  6. 【pmcaff】罗永浩昨日演讲视频:一个理想主义者的创业故事Ⅳ
  7. UVa 1609 (博弈) Foul Play
  8. Java学习 第三章 数组(三)排序算法
  9. python井字棋游戏人机对战_用Python做一个井字棋小游戏
  10. 【ElasticSearch】Es 源码之 Exporters 源码解读
  11. iOS开发NSDecimalNumber的基本使用,加、减、乘、除、指数、比较
  12. “飞客”蠕虫 执子之手 与子携老
  13. php weka,使用Weka进行数据挖掘
  14. CAP理论维基百科翻译
  15. 以太坊拜占庭硬分叉成功!前亚马逊首席科学家加盟京东金融;俄罗斯将发法定数字货币...
  16. 史上最牛老丈人,三个朝代全是自家人
  17. Claymore挖矿软件参数说明
  18. Burp suite 暴力破解shell密码详细教程
  19. 如何安装SwitchyOmega
  20. OSChina 周一乱弹 ——周末就在家改Bug么

热门文章

  1. LeetCode-1052:爱生气的书店老板
  2. latex中\left[\right]在多行公式中的问题
  3. 【数据库基础知识】数据库表格——主键和外键
  4. Latex编译pdf后的字体嵌入问题
  5. SparkSQL: no typetag available for xxxx问题的解决办法
  6. python控制语句字符串截取_菜鸟python---流程控制语句
  7. python内嵌函数和闭包与java 匿名内部类_Lambda表达式与匿名内部类的联系和区别...
  8. 新计算机主板不亮,电脑组装完毕之后点不亮怎么办 新电脑组装好开不了机的解决办法...
  9. Python刷题-6
  10. java static 块作用_java static块有什么具体的作用和注意事项?说具体点