Python中的range()
函数是否有等效的MATLAB函数?
我真的希望能够键入类似range(-10, 11, 5)
的内容并返回[-10, -5, 0, 5, 10]
,而不必手动写出整个范围。
答案 0 :(得分:14)
是的,有:
运营商。命令-10:5:11
将生成向量[-10, -5, 0, 5, 10];
答案 1 :(得分:5)
有两个相关功能。冒号:
运算符,您可以使用linspace
函数。要使用的最佳功能取决于您要指定的内容。
示例:
x = -10:5:10; % Count by 5's from -10 to 10. (or "colon(-10, 5, 10)")
x = linspace(-10, 10, 5); % 5 even increments between -10 and 10
colon
运算符的结果将始终包含第一个参数和所需的间距,但通常不包括最后一个参数。 (例如x = -10:5:11
)。
linspace
函数将始终包含所需的第一个和最后一个元素,但元素间距会有所不同。 (例如linspace(-10, 11, 5)
)。
答案 2 :(得分:3)
其他人提到了colon
运算符。你只需要注意一些差异。
在Python中,range
获取所有整数参数并返回整数列表。在MATLAB中,冒号运算符可以处理启动/停止以及步长的浮点。
我会说numpy.arange
与MATLAB的冒号运算符更接近。