Подтвердить что ты не робот

Как вы объединяете строки матрицы в вектор?

Для массива m-by-m (square), как вы объединяете все строки в вектор-столбец с размером m ^ 2?

4b9b3361

Ответ 1

Существует несколько разных способов свернуть вашу матрицу в вектор, в зависимости от того, как вы хотите, чтобы содержимое вашей матрицы заполнило этот вектор. Вот два примера: один с использованием функции reshape (после первой транспонирования матрицы) и один с использованием синтаксиса двоеточия (:):

>> M = [1 2 3; 4 5 6; 7 8 9];    % Sample matrix
>> vector = reshape(M.', [], 1)  % Collect the row contents into a column vector

vector =

     1
     2
     3
     4
     5
     6
     7
     8
     9

>> vector = M(:)  % Collect the column contents into a column vector

vector =

     1
     4
     7
     2
     5
     8
     3
     6
     9

Ответ 2

Очень важная нота в изменении матрицы на вектор состоит в том, что MATLAB создает выходной вектор из столбцов матрицы, если вы используете A(:)

например:

A = [1 2 3 ; 4 5 6]

B = A (:)

B = [1 4 2 5 3 6]

На следующем изображении вы можете увидеть направление изменения. Direction of changing