HOWTO · MATLAB

MATLAB에서 행과 열 바꾸기

이 자습서에서는 MATLAB에서 행과 열을 바꾸는 방법을 보여줍니다.

이 페이지의 내용

이 자습서에서는 MATLAB에서 행과 열을 바꾸는 방법을 보여줍니다.

MATLAB에는 행과 열을 서로 교환하는 다양한 방법이 있습니다. 이 자습서에는 MATLAB에서 행과 열을 교체하는 다양한 방법이 포함되어 있습니다.

Base MATLAB으로 행과 열 바꾸기

기본 MATLAB에는 행을 행으로, 열을 열로 바꾸는 데 사용할 수 있는 간단한 기능이 있습니다. 행을 행으로 바꾸는 예를 살펴보겠습니다.

% Random 4x6 matrix
A = rand(4,6)

%Swap 1st row with the fourth.
A([4 1],:) = A([1 4],:)

위의 코드는 임의의 4x6 행렬을 만들고 1번째 행을 4번째 행으로 바꿉니다. 출력 참조:

Swap Rows 4x6

보시다시피 행 1이 행 4와 교체됩니다. 이제 열에 대해 동일한 예를 시도해 보겠습니다.

% Random 4x6 matrix
A = rand(4,6)

%Swap 1st column with the sixth.
A(:,[1 6]) = A(:,[6 1])

코드가 비슷하다고 생각할 수도 있지만 약간의 차이가 있습니다. 행의 경우 A([4 1],:) 표현식을 사용하고 열의 경우 A(:,[1 6])와 같이 시작 부분에 쉼표와 콜론 기호를 사용합니다.

이 코드의 출력을 참조하십시오.

스왑 열 4x6

MATLAB에서 사용자 정의 함수로 행과 열 바꾸기

행과 열 모두에 사용할 수 있는 기본 MATLAB 기능을 사용하여 사용자 정의 함수를 생성할 수도 있습니다. 여기에 기능이 있습니다.

swap.m:

function matrix = swap(matrix,dimension,a,b)

if dimension == 1
    row_swap = matrix(a,:);
    matrix(a,:) = matrix(b,:);
    matrix(b,:) = row_swap;
elseif dimension == 2
    col_swap = matrix(:,a);
    matrix(:,a) = matrix(:,b);
    matrix(:,b) = col_swap;
end

위의 함수는 4개의 매개변수를 사용합니다. 먼저 행렬입니다. 둘째, 1은 행을 의미하고 2는 열을 의미하는 차원과 행 또는 열 중 서로 교환할 두 요소입니다.

이 함수로 행을 교환해 봅시다.

% Random 4x6 matrix
A = rand(4,6)

% Swap rows using the swap function
swap(A,1,1,4)

위의 코드는 첫 번째 행을 네 번째 행으로 바꿉니다. 출력 참조:

행 교환 함수

열을 바꾸려면 차원을 2로 변경해야 합니다. 예를 참조하십시오.

% Random 4x6 matrix
A = rand(4,6)

% Swap rows using the swap function
swap(A,2,1,6)

위의 코드는 swap 기능을 사용하여 첫 번째 열을 여섯 번째 열로 교체합니다. 출력 참조:

Swap Columns Function

MATLAB에서 randperm()size() 함수 조합을 사용하여 행과 열 바꾸기

randperm() 메서드는 지정된 행렬에 대한 정수의 임의 순열에 사용됩니다. 행렬인 매개변수 하나만 사용합니다.

size() 메서드는 배열의 각 차원에 대한 크기 또는 지정된 행렬의 크기를 반환합니다. 이 방법은 다음과 같은 다양한 방법으로 사용할 수 있습니다.

  1. 크기(X) - 배열의 각 차원 크기를 반환합니다.
  2. [m,n] = size(X) - 두 변수에서 지정된 행렬의 크기를 반환합니다.
  3. size(X,dim) - 스칼라 dim으로 X 차원의 크기를 반환합니다.
  4. [d1,d2,d3,…,dn] = size(X) - 개별 변수의 배열에 대한 n 차원의 크기를 반환합니다.

여기서 X는 배열, 행렬 또는 차원이고 dim은 차원의 스칼라 값입니다. 이 방법의 단점은 행이나 열을 무작위로 바꾼다는 것입니다.

이 방법을 사용하여 행을 교환해 봅시다.

% Random 4x4 matrix
A = rand(4,4)

% Calling the randperm() and size() methods
% to swap rows
Swapped = A(randperm(size(A, 1)),:)

위의 코드는 임의로 행을 다른 행으로 바꿉니다. 출력 참조:

A =

    0.4574    0.6377    0.2891    0.2548
    0.8754    0.9577    0.6718    0.2240
    0.5181    0.2407    0.6951    0.6678
    0.9436    0.6761    0.0680    0.8444


Swapped =

    0.9436    0.6761    0.0680    0.8444
    0.4574    0.6377    0.2891    0.2548
    0.5181    0.2407    0.6951    0.6678
    0.8754    0.9577    0.6718    0.2240

스왑 열과 유사하게 다음은 예제입니다.

% Random 4x4 matrix
A = rand(4,4)

% Calling the randperm() and size() methods
% to swap rows
Swapped = A(:, randperm(size(A, 1)))

위의 코드는 주어진 행렬의 열을 임의로 교체합니다. 출력 참조:

A =

    0.6022    0.4624    0.3225    0.1759
    0.3868    0.4243    0.7847    0.7218
    0.9160    0.4609    0.4714    0.4735
    0.0012    0.7702    0.0358    0.1527


Swapped =

    0.3225    0.6022    0.4624    0.1759
    0.7847    0.3868    0.4243    0.7218
    0.4714    0.9160    0.4609    0.4735
    0.0358    0.0012    0.7702    0.1527