Python 的标准库中是否有类似 matlab 的 linspace
的函数?
如果没有,是否有一种简单的方法可以在不安装外部包的情况下实现它?
这 是 linspace 在 matlab 术语中的快速简单定义。
笔记
我不需要链接定义的“矢量结果”,列表就可以了。
原文由 mjgpy3 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 的标准库中是否有类似 matlab 的 linspace
的函数?
如果没有,是否有一种简单的方法可以在不安装外部包的情况下实现它?
这 是 linspace 在 matlab 术语中的快速简单定义。
笔记
我不需要链接定义的“矢量结果”,列表就可以了。
原文由 mjgpy3 发布,翻译遵循 CC BY-SA 4.0 许可协议
实现它的最简单方法是生成器函数:
from __future__ import division
def linspace(start, stop, n):
if n == 1:
yield stop
return
h = (stop - start) / (n - 1)
for i in range(n):
yield start + h * i
用法示例:
>>> list(linspace(1, 3, 5))
[1.0, 1.5, 2.0, 2.5, 3.0]
也就是说,您绝对应该考虑使用 NumPy,它提供了 numpy.linspace()
函数和许多其他功能,可以方便地处理数值数组。
原文由 Sven Marnach 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答893 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
不,它没有。您可以自己编写(这并不困难),但如果您使用 Python 来实现 matlab 的某些功能,那么您肯定要安装
numpy
,它有numpy.linspace
。您可能会发现 NumPy for Matlab 用户 信息丰富。