matlab - 크기 - 매트랩 행렬 저장




어떻게 행렬의 행을 벡터로 연결합니까? (2)

m-by-m (정사각형) 배열의 경우, 모든 행을 m ^ 2 크기의 열 벡터로 어떻게 연결합니까?


행렬을 벡터로 변경하는 경우 매우 중요한 점은 MATLAB은 A(:) 를 사용하면 행렬의 출력 벡터 형식을 생성한다는 것입니다.

예 :

A = [1 2 3 ; 4 5 6]

B = A (:)

B = [1 4 2 5 3 6]

다음 이미지에서 변경 방향을 확인할 수 있습니다.


행렬의 내용을 벡터에 채우려는 방식에 따라 행렬을 벡터로 축소 할 수있는 여러 가지 방법이 있습니다. 다음은 두 가지 예제입니다. 하나는 reshape 함수 (행렬을 처음 transposing 한 후)를 사용하고 다른 하나는 콜론 구문 (:) 사용하는 것입니다.

>> 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




concatenation