Восстановление порядка символов путем заполнения матрицы столбцами и ее опорожнения строками
deintrlvd = matdeintrlv(data,Nrows,Ncols)
deintrlvd = matdeintrlv(data,Nrows,Ncols) переставляет элементы в data заполнением временной матрицы столбцом элементов за столбцом и последующей отправкой содержимого матрицы по строкам в выходные данные. Nrows и Ncols - размеры временной матрицы. Если data является вектором, он должен иметь Nrows*Ncols элементы. Если data - матрица с несколькими строками и столбцами, data должен иметь Nrows*Ncols строки и функция обрабатывают столбцы независимо.
Использование этой функции в качестве инверсии matintrlv функция, использовать то же самое Nrows и Ncols входы в обе функции. В этом случае две функции являются обратными в том смысле, что применение matintrlv за которым следует matdeintrlv оставляет данные без изменений.
Код ниже иллюстрирует обратную связь между matintrlv и matdeintrlv.
Nrows = 2; Ncols = 3; data = [1 2 3 4 5 6; 2 4 6 8 10 12]'; a = matintrlv(data,Nrows,Ncols); % Interleave. b = matdeintrlv(a,Nrows,Ncols) % Deinterleave.
Приведенные ниже выходные данные показывают, что b является таким же, как data.
b =
1 2
2 4
3 6
4 8
5 10
6 12