HOWTO · MATLAB
MATLAB 행렬 전치
MATLAB에서 transpose() 및 ctranspose() 함수를 사용하여 행렬의 전치를 취할 수 있습니다.
이 페이지의 내용
MATLAB에서 복소수 값을 바꾸지 않고 행과 열만 맞바꾸려면 transpose(A) 또는 A.'를 사용합니다. 행과 열을 맞바꾸면서 복소수 값을 켤레 복소수로 바꾸려면 ctranspose(A) 또는 A'를 사용합니다. 실수 배열에서는 두 연산의 결과가 같지만, 복소수 배열에서는 필요한 계산에 맞는 연산을 선택해야 합니다.
MATLAB에서 transpose() 함수로 행렬 전치하기
transpose() 함수는 벡터나 행렬의 행과 열을 맞바꾼 결과를 반환합니다. 행 벡터는 열 벡터가 되고, m개 행과 n개 열로 이루어진 행렬은 n개 행과 m개 열로 이루어진 행렬이 됩니다. 이 함수는 복소수 요소를 켤레 복소수로 바꾸지 않습니다. 연산자 .'도 같은 일반 전치를 수행하므로 MATLAB 코드에서는 두 표기 중 편리한 것을 사용할 수 있습니다.
이 Octave와 호환되는 MATLAB 예제는 실수 행렬을 사용하고 disp로 결과를 표시합니다. 예제가 성공적으로 실행되어 행과 열이 맞바뀐 행렬을 출력합니다.
A = [1 2 3; 4 5 6];
T = transpose(A);
disp(T)
1 4
2 5
3 6
A의 첫 번째 행은 T의 첫 번째 열이 되고, 두 번째 행은 두 번째 열이 됩니다. 연산자로 일반 전치를 하려면 T = A.';라고 씁니다. 아포스트로피 앞의 점에 주의하세요. 점은 복소수 요소를 켤레 복소수로 바꾸지 않는 전치를 지정합니다. 이 표기와 transpose(A)는 여기서 설명한 연산에 대해 같은 결과를 냅니다. 함수에 대한 자세한 내용은 MATLAB transpose 문서를 참조하세요.
MATLAB에서 ctranspose() 함수로 행렬의 복소 켤레 전치하기
ctranspose() 함수는 행과 열을 맞바꾸고 각 요소를 켤레 복소수로 바꿉니다. 복소수의 켤레를 취하면 허수부의 부호가 바뀝니다. 예를 들어 1 + 2i는 1 - 2i가 됩니다. MATLAB의 아포스트로피 연산자인 A'는 이 복소 켤레 전치를 수행합니다. 복소수 데이터에서는 일반 전치와 결과가 다르므로, 입력에 복소수가 포함될 수 있다면 필요한 연산을 함수나 연산자로 명확히 선택하세요.
이 별도의 Octave 호환 MATLAB 예제는 복소수 행 벡터에 연산을 적용합니다. 예제가 성공적으로 실행되어 켤레 복소수 값이 열 벡터로 표시됩니다.
A = [1+2i 2+3i];
T = ctranspose(A);
disp(T)
1 - 2i
2 - 3i
결과는 1 - 2i와 2 - 3i를 요소로 갖는 열 벡터입니다. 행이 열로 바뀌고 각 허수부의 부호도 바뀝니다. 같은 연산을 T = A';로 쓸 수도 있습니다. 실수 벡터나 행렬에서는 켤레를 취해도 요소가 바뀌지 않으므로 ctranspose(A)와 transpose(A)는 같은 값을 반환합니다. 복소수 데이터에서는 일반적으로 두 결과가 다릅니다. 행과 열만 맞바꾸려면 transpose() 또는 .'를 사용하고, 켤레 변환도 필요한 경우에는 ctranspose() 또는 '를 사용하세요. 자세한 내용은 MATLAB ctranspose 문서를 참조하세요.