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

yipeiwu_com5年前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获取GY-85九轴模块信息示例

树莓派中python获取GY-85九轴模块信息示例

先看效果图 GY-85.py: 复制代码 代码如下:#!/usr/bin/python3# -*- coding: utf-8 -*-import cursesfrom t...

python中sys.argv函数精简概括

python中sys.argv函数精简概括

sys.argv函数通常用来读取命令行参数,其中保存了程序的文件名和命令行参数,读入的参数以元组的形式保存。下面以sys.argv[0],sys.argv[1],sys.argv[1:]...

python查找指定文件夹下所有文件并按修改时间倒序排列的方法

代码如下: import os, glob, time def search_all_files_return_by_time_reversed(path, reverse=Tru...

python twilio模块实现发送手机短信功能

python twilio模块实现发送手机短信功能

前排提示:这个模块不是用于对陌生人进行短信轰炸和电话骚扰的,这个模块也没有这个功能,如果是抱着这个心态来的,可以关闭网页了 语言:python 步骤一:安装twilio模块 pip in...

将Python代码嵌入C++程序进行编写的实例

把python嵌入的C++里面需要做一些步骤     安装python程序,这样才能使用python的头文件和库     在我...