Main Content

mpower, ^

행렬 거듭제곱

설명

예제

C = A^BAB 거듭제곱을 계산하고 결과를 C로 반환합니다.

C = mpower(A,B)A^B를 실행하는 또 다른 방법이지만 거의 사용되지 않습니다. 이 표현식은 클래스에 대한 연산자 오버로드를 지원합니다.

예제

모두 축소

2×2 행렬을 만들고 제곱합니다.

A = [1 2; 3 4];
C = A^2
C = 2×2

     7    10
    15    22

구문 A^2A*A와 동일합니다.

2×2 행렬을 만들고 이것을 스칼라에 대한 지수로 사용합니다.

B = [0 1; 1 0];
C = 2^B
C = 2×2

    1.2500    0.7500
    0.7500    1.2500

먼저 행렬 B의 고유값 D와 고유벡터 V를 구해 C를 계산합니다.

[V,D] = eig(B)
V = 2×2

   -0.7071    0.7071
    0.7071    0.7071

D = 2×2

    -1     0
     0     1

다음으로, 2^B = V*2^D/V 식을 사용하여 거듭제곱을 계산합니다.

C = V*2^D/V
C = 2×2

    1.2500    0.7500
    0.7500    1.2500

입력 인수

모두 축소

피연산자로, 스칼라 또는 행렬로 지정됩니다. 입력값 AB는 다음 조합 중 하나여야 합니다.

  • A와 지수 B가 둘 다 스칼라입니다. 이 경우 A^BA.^B와 동일합니다.

  • A는 정사각 행렬이고 지수 B는 스칼라입니다. B가 양의 정수인 경우, 거듭제곱은 제곱을 반복하여 계산됩니다. B가 그 밖의 다른 값인 경우 계산은 고유값 분해(대부분의 행렬의 경우) 또는 슈어 분해(부족행렬의 경우)를 사용합니다.

  • A는 스칼라이고 지수 B는 정사각 행렬입니다. 계산은 고유값 분해를 사용합니다.

정수 데이터형을 가진 피연산자는 복소수일 수 없습니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
복소수 지원 여부:

  • MATLAB®X^(-1)inv(X)를 같은 방식으로 계산하며 둘 다 같은 제한사항이 적용됩니다. 자세한 내용은 inv를 참조하십시오.

참고 문헌

[1] Higham, Nicholas J., and Lijing Lin. “An Improved Schur--Padé Algorithm for Fractional Powers of a Matrix and Their Fréchet Derivatives.” SIAM Journal on Matrix Analysis and Applications 34, no. 3 (January 2013): 1341–1360. https://doi.org/10.1137/130906118.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장