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번째 행으로 바꿉니다. 출력 참조:
보시다시피 행 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])와 같이 시작 부분에 쉼표와 콜론 기호를 사용합니다.
이 코드의 출력을 참조하십시오.
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 기능을 사용하여 첫 번째 열을 여섯 번째 열로 교체합니다. 출력 참조:
MATLAB에서 randperm() 및 size() 함수 조합을 사용하여 행과 열 바꾸기
randperm() 메서드는 지정된 행렬에 대한 정수의 임의 순열에 사용됩니다. 행렬인 매개변수 하나만 사용합니다.
size() 메서드는 배열의 각 차원에 대한 크기 또는 지정된 행렬의 크기를 반환합니다. 이 방법은 다음과 같은 다양한 방법으로 사용할 수 있습니다.
크기(X)- 배열의 각 차원 크기를 반환합니다.[m,n] = size(X)- 두 변수에서 지정된 행렬의 크기를 반환합니다.size(X,dim)- 스칼라dim으로X차원의 크기를 반환합니다.[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