orth
행렬의 치역에 대한 정규 직교 기저
설명
예제
완전 랭크 행렬의 치역에 대한 정규 직교 기저 벡터를 계산하고 확인합니다.
행렬을 정의하고 랭크를 구합니다.
A = [1 0 1;-1 -2 0; 0 1 -1]; r = rank(A)
r = 3
A
는 완전 랭크의 정사각 행렬이므로, orth(A)
에서 계산된 정규 직교 기저는 특이값 분해 [U,S] = svd(A,"econ")
에서 계산된 행렬 U
와 일치합니다. 그 이유는 A
의 특이값이 모두 0이 아니기 때문입니다.
orth
를 사용하여 A
의 치역에 대한 정규 직교 기저를 계산합니다.
Q = orth(A)
Q = 3×3
-0.1200 -0.8097 0.5744
0.9018 0.1531 0.4042
-0.4153 0.5665 0.7118
Q
의 열 개수는 rank(A)
와 같습니다. A
가 완전 랭크이므로, Q
와 A
는 크기가 같습니다.
기저 Q
가 합리적인 오차 범위 내에서 정규 직교한다는 사실을 확인합니다.
E = norm(eye(r)-Q'*Q,"fro")
E = 1.0857e-15
오차가 대략 eps
정도입니다.
랭크 부족 행렬의 치역에 대한 정규 직교 기저 벡터를 계산하고 확인합니다.
특이 행렬을 정의하고 랭크를 구합니다.
A = [1 0 1; 0 1 0; 1 0 1]; r = rank(A)
r = 2
A
가 랭크 부족이므로, orth(A)
로 계산한 정규 직교 기저는 특이값 분해 [U,S] = svd(A,"econ")
에서 계산된 행렬 U
의 처음 r = 2
열들과만 일치합니다. 그 이유는 A
의 특이값이 모두 0이 아닌 것은 아니기 때문입니다.
orth
를 사용하여 A
의 치역에 대한 정규 직교 기저를 계산합니다.
Q = orth(A)
Q = 3×2
-0.7071 0
0 1.0000
-0.7071 0
A
가 랭크 부족이므로, Q
에는 A
보다 하나 적은 수의 열이 포함됩니다.
행렬의 특이값이 작은 경우, 0으로 처리되는 특이값을 변경하도록 허용오차를 지정합니다.
7×7 힐베르트 행렬을 생성합니다. 이 행렬은 완전 랭크이지만 일부 작은 특이값을 가집니다.
H = hilb(7)
H = 7×7
1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429
0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250
0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111
0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000
0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909
0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833
0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769
H
의 치역에 대한 정규 직교 기저를 계산합니다. H
가 완전 랭크이므로, Q
와 H
는 크기가 같습니다.
Q = orth(H)
Q = 7×7
-0.7332 0.6232 0.2608 -0.0752 0.0160 -0.0025 0.0002
-0.4364 -0.1631 -0.6706 0.5268 -0.2279 0.0618 -0.0098
-0.3198 -0.3215 -0.2953 -0.4257 0.6288 -0.3487 0.0952
-0.2549 -0.3574 0.0230 -0.4617 -0.2004 0.6447 -0.3713
-0.2128 -0.3571 0.2337 -0.1712 -0.4970 -0.1744 0.6825
-0.1831 -0.3446 0.3679 0.1827 -0.1849 -0.5436 -0.5910
-0.1609 -0.3281 0.4523 0.5098 0.4808 0.3647 0.1944
이제 정규 직교 기저 벡터를 다시 계산하되 허용오차를 1e-4
로 지정합니다. 이 허용오차로 인해 orth
가 3개의 특이값을 0으로 처리하므로 정규 직교 기저는 열을 4개만 갖습니다.
Qtol = orth(H,1e-4)
Qtol = 7×4
-0.7332 0.6232 0.2608 -0.0752
-0.4364 -0.1631 -0.6706 0.5268
-0.3198 -0.3215 -0.2953 -0.4257
-0.2549 -0.3574 0.0230 -0.4617
-0.2128 -0.3571 0.2337 -0.1712
-0.1831 -0.3446 0.3679 0.1827
-0.1609 -0.3281 0.4523 0.5098
입력 인수
입력 행렬입니다.
데이터형: single
| double
복소수 지원 여부: 예
특이값 허용오차로, 실수 숫자형 스칼라로 지정됩니다. 허용오차보다 작거나 같은 A
의 특이값은 0으로 처리되어 orth
가 반환하는 열 공간 벡터의 개수에 영향을 줍니다. 디폴트 허용오차는 max(size(A)) * eps(norm(A))
입니다.
세부 정보
행렬 A
의 열 공간, 즉 치역은 A
에 있는 열들의 모든 선형 결합의 모음입니다. 선형 방정식 A*x = b
의 해인 임의의 벡터 b
는 A
에 있는 열들의 선형 결합으로도 나타낼 수 있기 때문에 벡터 b는 A
의 치역에 포함됩니다.
행렬의 rank
는 치역의 차원과 동일하고 0이 아닌 특이값의 개수와 같습니다.
알고리즘
A
의 치역에 대한 정규 직교 기저는 특이값 분해 [U,S] = svd(A,"econ")
의 U
에서 얻습니다. r = rank(A,tol)
의 경우, U
의 처음 r
개 열은 A
의 치역에 대한 정규 직교 기저를 형성합니다.
확장 기능
사용법 관련 참고 및 제한 사항:
생성된 코드는 MATLAB®이 반환하는 것과 다른 기저를 반환할 수 있습니다.
코드 생성 시 이 함수에 대해 희소 행렬 입력값은 지원되지 않습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
orth
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨tol
인수를 사용하여 A
의 치역에 대한 정규 직교 기저를 형성하는 데 사용되는 특이값에 대한 허용오차 임계값을 지정합니다. 허용오차보다 작거나 같은 입력 행렬의 특이값은 0으로 처리됩니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)