exponenta event banner

vec2mat

(Не рекомендуется) Изменить размер

vec2mat не рекомендуется. Использовать reshape вместо этого. Дополнительные сведения см. в разделе Вопросы совместимости.

Описание

mat = vec2mat(vec,matcol) преобразует вектор vec к матрице mat с matcol столбцы. Функция создает матрицу по одной строке за раз, заполняя строки элементами из vec по порядку. Если длина vec не является кратным matcol, то функция помещает последнюю строку mat с нулями, пока строка не содержит matcol элементы.

mat = vec2mat(vec,matcol,padding) задает значения для функции, используемой для заполнения последней строки mat. Функция использует значение из padding по порядку.

пример

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

Примеры

свернуть все

В этом примере показано, как добавлять заполнение при необходимости при преобразовании вектора в матрицу.

Создайте вектор, который будет преобразован в матрицу, и вектор для получения значений заполнения.

vec = [10;20;30;40;50];
padding = [1,2;3,4;5,6];
n = 4;

При использовании vec2mat для преобразования вектора в матрицу функция определяет необходимое заполнение.

[mat4,numPadded4] = vec2mat(vec,n,padding)
mat4 =
    10    20    30    40
    50     1     3     5
numPadded4 =
     3

При использовании reshape для преобразования вектора в матрицу необходимо вычислить необходимое заполнение и добавить его к вектору перед преобразованием вектора в матрицу.

numPadded = mod(numel(vec),n);
if numPadded > 0
    numPadded = n - numPadded
    mat = reshape([vec.' padding(1:numPadded)], n, []).'
else
    numPadded % No padding required
    mat = reshape(vec.', n, []).'
end
numPadded =
     3
mat =
    10    20    30    40
    50     1     3     5

Входные аргументы

свернуть все

Входной массив, заданный как вектор.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного номера: Да

Количество столбцов для выходной матрицы mat, указано как положительное целое число. Если длина vec не является кратным matcol, то функция помещает последнюю строку mat с нулями, пока строка не содержит matcol элементы.

Типы данных: double

Заполнение значений для последней строки mat, задается как вектор или матрица. padding input наследует тип данных vec вход. Функция использует значения из padding по порядку. Если padding имеет меньше элементов, чем то, что требуется функции для завершения последней строки mat, то функция повторяет последний элемент padding до mat заполнен.

Выходные аргументы

свернуть все

Выходной массив, возвращаемый как матрица с элементами из vec и имеющие matcol столбцы. Выходные данные наследуют тип данных входных данных. Число строк равно ceil(length(vec)/matcol).

Количество дополненных элементов в последней строке mat, возвращается как положительное целое число.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2020a

См. также

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