Как создать массив, который определен с начальной точкой, конечной точкой и общим размером массива? Что-то вроде массива, который состоит из 1 до 10, длиной 20 элементов. Например, массив может выглядеть примерно так:
1 1.5 2 2.5 3 3.5 ...
Есть несколько способов сделать это:
Использование оператора двоеточия :
startValue = 1; endValue = 10; nElements = 20; stepSize = (endValue-startValue)/(nElements-1); A = startValue:stepSize:endValue;
Использование функции linspace (в соответствии с предложением Amro ):
linspace
startValue = 1; endValue = 10; nElements = 20; A = linspace(startValue,endValue,nElements);
Имейте в виду, что число элементов в полученных массивах включает конечных точек. В приведенных выше примерах разница между значениями элементов массива будет 9/19 или немного меньше 0.5 (в отличие от образца массива в вопросе).
9/19
0.5
linspace генерирует линейно разнесенные векторы:
>> A = linspace(1, 10, 20-1) ans = 1 1.5 2 2.5 3 3.5 ... 9.5 10
Простой однострочник!
1:0.5:10;
Выход:
1 1.5 2 2.5 ... 9 9.5 10
Обратите внимание, что это будет вектор из 19 элементов, а не 20.