为什么np.arrange(0.97,3.0,0.01)最后一个值是3.0018,大于3

ops/2024/11/15 6:13:11/

在 NumPy 中,np.arange 函数用于创建一个等差数列。它的参数分别是起始值、终止值和步长。当你使用 np.arange(0.97, 3.0, 0.01) 时,你期望得到的是从 0.97 开始,每次增加 0.01,直到接近但不包括 3.0 的数列。

然而,由于浮点数的精度问题,当你使用浮点数作为步长时,可能会出现一些微小的误差。这些误差可能会导致最后一个值略微超出你期望的终止值。在这种情况下,最后一个值是 3.0018,这是因为在计算过程中累积了小的误差。

浮点数在计算机中的表示是基于二进制的,而某些十进制小数在二进制表示中是无限循环的,这会导致精度损失。因此,当你使用浮点数进行计算时,尤其是作为循环或迭代的步长时,这种精度损失可能会累积起来。

为了解决这个问题,你可以使用 np.linspace 函数,它在指定的数值范围内生成等间隔的数列,并且可以确保包含起始值和终止值。例如:

python">import numpy as np# 使用 np.linspace 替代 np.arange
array = np.linspace(0.97, 3.0, int((3.0 - 0.97) / 0.01) + 1)
print(array)

这将生成一个包含起始值 0.97 和终止值 3.0 的数组,步长为 0.01。int((3.0 - 0.97) / 0.01) + 1 确保数组的长度正确,使得终止值被包含在内。


http://www.ppmy.cn/ops/110536.html

相关文章

力扣刷题之2576.求出最多标记下标

题干描述 给你一个下标从 0 开始的整数数组 nums 。 一开始&#xff0c;所有下标都没有被标记。你可以执行以下操作任意次&#xff1a; 选择两个 互不相同且未标记 的下标 i 和 j &#xff0c;满足 2 * nums[i] < nums[j] &#xff0c;标记下标 i 和 j 。 请你执行上述操…

MySQL——数据类型(二)

目录 一、日期与时间类型 1.1 date 1.2 datetime 1.3 timestamp 二、枚举和联合 2.1 enum 2.2 set 2.2.1 set 的插入 2.2.2 set 的查找 思维导图可以参考如下链接&#xff1a; 数据类型.xmind 夜夜亮晶晶/MySQL - Gitee.com 一、日期与时间类型 1.1 date 日期 yyy…

Gitlab备份、迁移、恢复和升级(Gitlab Backup, migration, recovery, and upgrade)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

vue中v-bind和v-model的区别和应用

1.区别 v-bind&#xff1a; vue2中&#xff0c;v-bind是单向数据绑定&#xff0c;用于动态绑定HTML属性和组件属性&#xff0c;只能将vue实例中的数据同步到HTML元素上&#xff0c;实现数据的动态更新和响应式渲染。v-bind的简写形式使用冒号前缀&#xff08;&#xff1a;&am…

遗传算法及其MATLAB实现

目录 引言 遗传算法的基本原理 MATLAB中遗传算法的实现 示例&#xff1a;旅行商问题&#xff08;TSP&#xff09; 表格总结&#xff1a;遗传算法求解步骤 结论 引言 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;是一种基于自然选择和遗传机制的搜索…

速通FFmpeg入门

初识&#xff1a; ffmpeg是一款非常好用处理音视频的工具包。那什么是ffmpeg呢&#xff1f;FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序&#xff0c;可以结合开发一些处理视频音频的功能。 安装&#xff1a; 在官网上下载安装…

appium server gui详细按照步骤

1.安装appium server desktop Appium安装提供两种方式:桌面版和命令行版。其中桌面版又分为 Appium GuI 和 Appium Desktop 。作为初学者&#xff0c;用桌面版&#xff0c;对初学者比较友好。 官网下载地址&#xff1a;Releases appium/appium-desktop GitHubTags appium/…

第七届“泰迪杯”数据分析技能赛 赛前指导安排

竞赛时间安排 报名起始时间&#xff1a; 2024年9月3日-11月7日 赛前指导时间&#xff1a; 2024年9月10日-11月7日 A 题竞赛时间&#xff1a; 2024年11月9日 8:00-20:00 &#xff08;* 8:00:00开放赛题及数据&#xff09; B 题竞赛时间&#xff1a; 2024年11月10日…