helscandeintrlv

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

Описание

пример

deintrlvd = helscandeintrlv(data,Nrows,Ncols,hstep) перестраивает элементы в data путем заполнения временной матрицы элементами спиральным способом и затем отправки матричного содержимого в выходную строку строкой. Nrows и Ncols размерности временной матрицы. hstep наклон диагонали, то есть, суммы, которой увеличивается индекс строки, как индекс столбца увеличивается одним. hstep должно быть неотрицательное целое число меньше, чем Nrows.

Спиральный вид означает, что функция помещает входные элементы по диагоналям временной матрицы. Числом элементов в каждой диагонали является точно Ncols, после того, как функция переносится мимо ребер матрицы при необходимости. Функция пересекает диагонали так, чтобы индекс строки и индекс столбца оба увеличения. Каждая диагональ после первой начинает одну строку ниже первого элемента предыдущей диагонали.

Если data вектор, он должен иметь Nrows*Ncols элементы. Если data матрица с несколькими строками и столбцами, data должен иметь Nrows*Ncols строки и функциональные процессы столбцы независимо.

Использовать эту функцию в качестве инверсии helscanintrlv функция, используйте тот же Nrows, Ncols, и hstep входные параметры в обеих функциях. В этом случае две функции являются инверсиями в том смысле, что применение helscanintrlv сопровождаемый helscandeintrlv оставляет данные без изменений.

Примеры

свернуть все

Примените устранение чередования спиральной развертки к вектору [1:12], перестроив вектор с помощью временной матрицы 3 на 4 и диагоналей наклона 1.

Внутренне, helscandeintrlv функция создает временную матрицу 3 на 4 с помощью длины четыре диагонали. Как представлено здесь.

[1 10  7  4;
 5  2 11  8;
 9  6  3 12]
ans = 3×4

     1    10     7     4
     5     2    11     8
     9     6     3    12

Функция затем отправляет элементы, строку строкой, к выходу d.

d = helscandeintrlv(1:12,3,4,1)
d = 1×12

     1    10     7     4     5     2    11     8     9     6     3    12

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

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

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

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