繁体   English   中英

在MATLAB中是否有相当于Python范围的功能?

[英]Is there an equivalent of the Python range function in MATLAB?

Python中的range()函数是否有等效的MATLAB函数?

我真的希望能够键入range(-10, 11, 5)并返回[-10, -5, 0, 5, 10]而不必手动写出整个范围。

是的,有:运营商。 命令-10:5:11将产生向量[-10, -5, 0, 5, 10];

有两个相关的功能。 冒号:运算符,可以使用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) )。

其他人提到了colon操作员。 你只需要意识到一些差异。

在Python中, range获取所有整数参数并返回整数列表。 在MATLAB中,冒号运算符可以处理启动/停止以及步长的浮点。

我会说numpy.arange与MATLAB的冒号运算符更接近。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM