MATLAB에서 행과 열 바꾸기

Sheeraz Gul 2024년2월15일
  1. Base MATLAB으로 행과 열 바꾸기
  2. MATLAB에서 사용자 정의 함수로 행과 열 바꾸기
  3. MATLAB에서 randperm()size() 함수 조합을 사용하여 행과 열 바꾸기
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
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook