浅谈numpy生成数组的零值问题

yipeiwu_com6年前Python基础

今天在用numpy写sinc函数时偶然发现在x=0时函数居然能取到1,觉得很不可思议,按理来说在x=0时函数无意义,研究了一下,发现竟然时numpy在生成数组时自动用一个很小的数代替了0。

In[2]: import numpy as np
In[3]: np.arange(-1, 1, 0.1)
Out[3]: 
array([ -1.00000000e+00, -9.00000000e-01, -8.00000000e-01,
    -7.00000000e-01, -6.00000000e-01, -5.00000000e-01,
    -4.00000000e-01, -3.00000000e-01, -2.00000000e-01,
    -1.00000000e-01, -2.22044605e-16,  1.00000000e-01,
     2.00000000e-01,  3.00000000e-01,  4.00000000e-01,
     5.00000000e-01,  6.00000000e-01,  7.00000000e-01,
     8.00000000e-01,  9.00000000e-01])
In[4]: np.linspace(-1, 0.9, 20)
Out[4]: 
array([ -1.00000000e+00, -9.00000000e-01, -8.00000000e-01,
    -7.00000000e-01, -6.00000000e-01, -5.00000000e-01,
    -4.00000000e-01, -3.00000000e-01, -2.00000000e-01,
    -1.00000000e-01, -1.11022302e-16,  1.00000000e-01,
     2.00000000e-01,  3.00000000e-01,  4.00000000e-01,
     5.00000000e-01,  6.00000000e-01,  7.00000000e-01,
     8.00000000e-01,  9.00000000e-01])

其中arange和linspace两个函数在本应该为0的地方用一个e-16的非常小的数代替了。

以上这篇浅谈numpy生成数组的零值问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用python模拟实现POST请求提交图片的方法

本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的...

Python pass 语句使用示例

Python pass是空语句,pass语句什么也不做,一般作为占位符或者创建占位程序,是为了保持程序结构的完整性,pass语句不会执行任何操作,比如: Python 语言 pass 语...

pandas按若干个列的组合条件筛选数据的方法

pandas按若干个列的组合条件筛选数据的方法

还是用图说话 A文件: 比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都为11的数据,结果如下: 当然,这里的筛选条件可以根据用户需要自由调整,代码如下: #...

python 获取本机ip地址的两个方法

第一种:复制代码 代码如下: import socket import fcntl import struct def get_ip_address(ifname): s = socke...

基于Python函数的作用域规则和闭包(详解)

作用域规则 命名空间是从名称到对象的映射,Python中主要是通过字典实现的,主要有以下几个命名空间: 内置命名空间,包含一些内置函数和内置异常的名称,在Python解释器启动时创建,一...