Main Content

sqrtm

설명

예제

X = sqrtm(A)X2 = A가 되고 X의 고유값이 A의 고유값에 대한 제곱근인 행렬 X를 반환합니다.

예제

[X,resnorm] = sqrtm(A)는 행렬 X와 잔차 norm(A-X^2,'fro')/norm(A,'fro')를 반환합니다.

예제

행렬의 제곱근 계산하기

이 행렬의 제곱근을 계산합니다. 이러한 숫자는 기호 객체가 아니므로 부동소수점 결과를 얻게 됩니다.

A = [2 -2 0; -1 3 0; -1/3 5/3 2];
X = sqrtm(A)
X =
    1.3333   -0.6667    0.0000
   -0.3333    1.6667   -0.0000
   -0.0572    0.5286    1.4142

이번에는 이 행렬을 기호 객체로 변환하고 제곱근을 다시 계산합니다.

A = sym([2 -2 0; -1 3 0; -1/3 5/3 2]);
X = sqrtm(A)
X =
[               4/3,          -2/3,       0]
[              -1/3,           5/3,       0]
[ (2*2^(1/2))/3 - 1, 1 - 2^(1/2)/3, 2^(1/2)]

결과가 정확한지 확인합니다.

isAlways(X^2 == A)
ans =
  3×3 logical array
   1   1   1
   1   1   1
   1   1   1

행렬 제곱근의 잔차 반환하기

출력 인수가 2개인 구문을 사용하여 행렬의 제곱근과 잔차를 반환합니다.

A = vpa(sym([0 0; 0 5/3]), 100);
[X,resnorm] = sqrtm(A)
X =
[ 0,                                 0]
[ 0, 1.2909944487358056283930884665941]
 
resnorm =
2.9387358770557187699218413430556e-40

입력 인수

모두 축소

입력값으로, 기호 행렬로 지정됩니다.

출력 인수

모두 축소

행렬 제곱근으로, X2 = A가 되는 기호 행렬로 반환됩니다.

잔차로, 기호 표현식으로 반환됩니다. 잔차는 norm(A-X^2,'fro')/norm(A,'fro')로 계산됩니다.

  • 기호 객체가 아닌 행렬에 대해 sqrtm을 호출하면 MATLAB® sqrtm 함수가 호출됩니다.

버전 내역

R2013a에 개발됨

참고 항목

| | | | | |