Переупорядочьте символы в спиральном шаблоне
intrlvd = helscanintrlv(data,Nrows,Ncols,hstep)
intrlvd = helscanintrlv(data,Nrows,Ncols,hstep)
перестраивает элементы в data
путем заполнения временной матрицы строкой элементов строкой и затем отправки матричного содержимого в выход спиральным способом. Nrows
и Ncols
размерности временной матрицы. hstep
наклон диагонали, то есть, суммы, которой увеличивается индекс строки, как индекс столбца увеличивается одним. hstep
должно быть неотрицательное целое число меньше, чем Nrows
.
Спиральный вид означает, что функция выбирает элементы по диагоналям временной матрицы. Числом элементов в каждой диагонали является точно Ncols
, после того, как функция переносится мимо ребер матрицы при необходимости. Функция пересекает диагонали так, чтобы индекс строки и индекс столбца оба увеличения. Каждая диагональ после первой начинает одну строку ниже первого элемента предыдущей диагонали.
Если data
вектор, он должен иметь Nrows*Ncols
элементы. Если data
матрица с несколькими строками и столбцами, data
должен иметь Nrows*Ncols
строки и функциональные процессы столбцы независимо.
Команда ниже перестраивает вектор с помощью диагоналей двух различных наклонов.
i1 = helscanintrlv(1:12,3,4,1) % Slope of diagonal is 1. i2 = helscanintrlv(1:12,3,4,2) % Slope of diagonal is 2.
Выход ниже.
i1 = Columns 1 through 10 1 6 11 4 5 10 3 8 9 2 Columns 11 through 12 7 12 i2 = Columns 1 through 10 1 10 7 4 5 2 11 8 9 6 Columns 11 through 12 3 12
В каждом случае функция внутренне создает временную матрицу 3 на 4
[1 2 3 4; 5 6 7 8; 9 10 11 12]
Сформировать i1
, функция формирует каждый наклон одна диагональ путем перемещения вниз одной строки и одного столбца направо. Первая диагональ содержит 1
, 6, 11
, и
4
, в то время как вторая диагональ запускается с 5
потому что это ниже 1
во временной матрице.
Сформировать i2
, функция формирует каждый наклон две диагонали путем перемещения вниз двух строк и одного столбца направо. Первая диагональ содержит 1
, 10, 7
, и
4
, в то время как вторая диагональ запускается с 5
потому что это ниже 1
во временной матрице.