Такие операции обычно можно выполнять без зацикливания.
Например, если наклон одинаков для всех записей, вы можете написать
slope = ones(numRows,numCols) * (y2-y1)/(x2-x1);
, где numRows
и numCols
- размер массива slope
.
Если у вас есть список значений y и значений x, и вы хотите, чтобы уклон был в каждой точке, вы можете вызвать
slope = (y(2:end)-y(1:end-1))./(x(2:end)-x(1:end-1)
и получите все за один раз. Обратите внимание, что y(2:end)
- это все элементы от второго до последнего, а y(1:end-1)
- все элементы от первого до второго и до последнего. Таким образом, первый элемент наклона рассчитывается из разности между вторым и первым элементом y
. Также обратите внимание на ./
вместо /
. Точка делает это поэлементной операцией, то есть я делю первый элемент массива в числителе на первый элемент массива в знаменателе и т. Д.