【问题标题】:Is there an equivalent of the Python range function in MATLAB?MATLAB 中是否有等效的 Python 范围函数?
【发布时间】:2014-01-27 12:35:16
【问题描述】:

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

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

【问题讨论】:

    标签: python matlab


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        其他人提到了colon 运算符。您只需要注意一些差异。

        在 Python 中,range 接受所有整数参数并返回一个整数列表。在 MATLAB 中,冒号运算符可以处理开始/停止以及步长中的浮点数。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-10-14
          • 1970-01-01
          • 1970-01-01
          • 2016-08-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多