如何在MATLAB中创建一个间隔数组的值?

时间:2009-12-05 23:44:25

标签: arrays matlab vector

如何创建一个用起点,终点和总数组大小定义的数组?类似于从1到10的数组,即20个元素长。例如,数组看起来像:

1 1.5 2 2.5 3 3.5 ...

3 个答案:

答案 0 :(得分:18)

有几种方法可以做到这一点:

  • 使用colon operator

    startValue = 1;
    endValue = 10;
    nElements = 20;
    stepSize = (endValue-startValue)/(nElements-1);
    A = startValue:stepSize:endValue;
    
  • 使用linspace函数(由Amro建议):

    startValue = 1;
    endValue = 10;
    nElements = 20;
    A = linspace(startValue,endValue,nElements);
    

请记住,结果数组中的元素数包括结束点。在上面的示例中,数组元素值之间的差异将是9/19,或者小于 0.5(与问题中的示例数组不同)。

答案 1 :(得分:10)

linspace生成线性间隔的矢量:

>>  A = linspace(1, 10, 20-1)
ans =
1 1.5 2 2.5 3 3.5 ... 9.5 10

答案 2 :(得分:5)

简单的单行!

1:0.5:10;

输出:

1 1.5 2 2.5 ... 9 9.5 10

请注意,这将是一个19元素的向量,而不是20。