vec2mat

Преобразуйте вектор в матрицу

Синтаксис

mat = vec2mat(vec,matcol)
mat = vec2mat(vec,matcol,padding)
[mat,padded] = vec2mat(...)

Описание

mat = vec2mat(vec,matcol) преобразовывает векторный vec в матрицу со столбцами matcol, создавая одну строку за один раз. Если длина vec не является кратным matcol, то дополнительные нули помещаются в последнюю строку mat. Матричный mat имеет ceil строки (length(vec)/matcol).

mat = vec2mat(vec,matcol,padding) совпадает с первым синтаксисом, за исключением того, что дополнительные записи, помещенные в последнюю строку mat, являются не обязательно нулями. Дополнительные записи взяты из матричного padding по порядку. Если padding имеет меньше записей, чем необходимо, то последняя запись неоднократно используется.

[mat,padded] = vec2mat(...) возвращает целочисленный padded, который указывает, сколько дополнительных записей было помещено в последнюю строку mat.

Примечание

vec2mat подобен встроенному в MATLAB® функциональному reshape. Однако, учитывая векторный вход, reshape создает матричный один столбец за один раз вместо одной строки за один раз. Кроме того, reshape требует, чтобы матрицы ввода и вывода имели то же количество записей, тогда как vec2mat помещает дополнительные записи в выходную матрицу при необходимости.

Примеры

свернуть все

Создайте вектор с пятью элементами.

vec = [1,2,3,4,5];

Преобразуйте вектор в матрицы с два, три, и четыре столбца.

twoColumnMatrix = vec2mat(vec,2)
twoColumnMatrix = 3×2

     1     2
     3     4
     5     0

threeColumnMatrix = vec2mat(vec,3)
threeColumnMatrix = 2×3

     1     2     3
     4     5     0

fourColumnMatrix = vec2mat(vec,4)
fourColumnMatrix = 2×4

     1     2     3     4
     5     0     0     0

Создайте вектор с пятью элементами.

vec = 1:5;

Задайте дополнительное значение для матрицы, выведенной vec2Mat. Преобразуйте вектор в матрицу с четырьмя столбцами с помощью ненулевого дополнительного значения.

paddingValue = NaN;
mat = vec2mat(vec,4,paddingValue)
mat = 2×4

     1     2     3     4
     5   NaN   NaN   NaN

Можно также задать дополнительное значение как вектор или матрицу. vec2mat заполняет выходную матрицу значениями, принявшими от paddingValue по порядку.

paddingValue = [10,8,6;9,7,5]
paddingValue = 2×3

    10     8     6
     9     7     5

mat2 = vec2mat(vec,3,paddingValue)
mat2 = 2×3

     1     2     3
     4     5    10

mat3 = vec2mat(vec,4,paddingValue)
mat3 = 2×4

     1     2     3     4
     5    10     9     8

Можно опционально возвратить число элементов, дополненное vec2mat.

Создайте вектор с пятью элементами и матрицу дополнения значений.

vec = [1;2;3;4;5];
padding = [2,4;6,4];

Преобразуйте vec в матрицы с два, три, и четыре столбца. Задайте ненулевое дополнение и возвратите номер, дополненный в каждом сценарии.

[mat2,numPadded2] = vec2mat(vec,2,padding)
mat2 = 3×2

     1     2
     3     4
     5     2

numPadded2 = 1
[mat3,numPadded3] = vec2mat(vec,3,padding)
mat3 = 2×3

     1     2     3
     4     5     2

numPadded3 = 1
[mat4,numPadded4] = vec2mat(vec,4,padding)
mat4 = 2×4

     1     2     3     4
     5     2     6     4

numPadded4 = 3

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

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