helscandeintrlv

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

Синтаксис

deintrlvd = helscandeintrlv(data,Nrows,Ncols,hstep)

Описание

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, оставляет данные без изменений.

Примеры

Команда ниже перестраивает вектор с помощью временной матрицы 3 на 4 и диагоналей наклона 1.

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

  Columns 1 through 10 

     1    10     7     4     5     2    11     8     9     6

  Columns 11 through 12 

     3    12

Внутренне, функция создает временную матрицу 3 на 4

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

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

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

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

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

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