helscanintrlv

Переупорядочьте символы в спиральном шаблоне

Синтаксис

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 во временной матрице.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Представлено до R2006a