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, заданный как вектор или матрица. The padding вход наследует тип данных vec вход. Функция использует значения из padding по порядку. Если padding имеет меньше элементов, чем то, что нужно функции для завершения последней строки mat, затем функция повторяет последний элемент padding до mat полно.

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

свернуть все

Выходной массив, возвращенный как матрица с элементами из vec и иметь matcol столбцы. Этот выход наследует тип данных входов. Количество строк равно потолку (длина (vec) / matcol).

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

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

расширить все

Не рекомендуемый запуск в R2020a

См. также

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