【发布时间】:2019-07-20 12:01:45
【问题描述】:
我是一个 Numpy 新手。
我想创建一个包含一百万个数字的数组,它的正弦波的幅度呈指数衰减。
换句话说,我希望每个单元格n 的值为sin(n) * 2 ** (-n * factor)。
最有效的方法是什么?
【问题讨论】:
-
充分尊重双方(提供的任何一个答案的提问者和作者)恕我直言,缺少一个基本信息——即确切的信息是什么请求的 "效率" 的度量:仅是速度(以防 O/P 在 [TIME] 域内发生战斗)?它是内存占用吗,以防战斗进入 [SPACE] 域并且问题扩展的影响开始伤害我们?或者,如果我们在 [TIME] 和 [SPACE] 领域都打架,一旦使用超出教科书大小 1E6、1E9、1E12、1E15+ 的数据规模,这是否是某种形式的双重麻烦
-
嗯,我想我会关心时间和空间。
-
@cool-RR 当然,这是最常见的战斗。猜猜你会在问题中表达出来。 对于 1E9、1E12 和 1E15 数据点,最快的方法是什么,但占用的内存最少? Apollo 导航计算机非常可爱,可以在 2k*16b 的写入范围内完成 -能够存储,只有 24 个 1k*16b 大小的预接线铁氧体环 ROM 块和代码/表。向麻省理工学院致敬,向玛格丽特·汉密尔顿女士致敬,正是这位女性,正好在 50 年前通过智能设计的操作系统拯救了登月过载的 AGC 计算机等待...
-
如果您愿意在
numpy之外使用另一个模块,那么@max9111 的回答是最好的,您应该接受它。这个答案在时间上是最好的,而且在内存使用方面也可能是最好的。
标签: python numpy trigonometry