rank
행렬의 랭크
설명
예제
행렬의 랭크
행렬이 완전 랭크인지를 확인합니다.
3×3 행렬을 만듭니다. 세 번째 열의 값이 두 번째 열의 값보다 두 배 더 큽니다.
A = [3 2 4; -1 1 2; 9 5 10]
A = 3×3
3 2 4
-1 1 2
9 5 10
행렬의 랭크를 계산합니다. 행렬이 완전 랭크인 경우 랭크는 열 개수 size(A,2)
와 같습니다.
rank(A)
ans = 2
size(A,2)
ans = 3
행렬은 열이 선형 종속이므로 랭크 부족입니다.
랭크 허용오차 지정하기
허용오차를 사용하여 행렬의 랭크를 계산합니다.
4×4 대각 행렬을 만듭니다. 이 대각 행렬에는 하나의 작은 값(1e-15
)이 포함되어 있습니다.
A = [10 0 0 0; 0 25 0 0; 0 0 34 0; 0 0 0 1e-15]
A = 4×4
10.0000 0 0 0
0 25.0000 0 0
0 0 34.0000 0
0 0 0 0.0000
행렬의 랭크를 계산합니다.
rank(A)
ans = 3
이 행렬은 완전 랭크로 간주되지 않는데, 디폴트 알고리즘이 max(size(A))*eps(norm(A))
보다 큰 특이값의 개수를 계산하기 때문입니다. 이 행렬의 경우 대각 행렬에 있는 작은 값은 허용오차보다 작기 때문에 제외됩니다.
행렬의 랭크를 다시 계산하되 허용오차를 1e-16
으로 지정합니다.
rank(A,1e-16)
ans = 4
입력 인수
세부 정보
랭크
행렬의 선형 독립 열 개수가 행렬의 랭크입니다. 행렬의 행 랭크와 열 랭크는 항상 같습니다.
행렬의 랭크가 동일한 크기의 행렬에서 가능한 가장 높은 값인 경우 완전 랭크 행렬이고, 행렬에 완전 랭크가 없는 경우 랭크 부족 행렬입니다. 랭크는 행렬의 치역 즉, 열 공간의 차원에 대한 척도를 제공합니다. 치역 또는 열 공간은 열들의 모든 선형 결합의 모음입니다.
알고리즘
rank
는 특이값 분해(SVD)를 기반으로 하는 방법을 사용합니다. SVD 알고리즘은 일부 다른 방법보다 시간이 더 오래 걸리지만 가장 안정적입니다.
행렬 A
의 랭크는 허용오차보다 큰 특이값의 개수로 계산됩니다. 기본적으로 허용오차는 max(size(A))*eps(norm(A))
입니다. 그러나 명령 rank(A,tol)
을 사용하여 다른 허용오차를 지정할 수 있습니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성 시 이 함수에 대해 희소 행렬 입력값은 지원되지 않습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성 시 이 함수에 대해 희소 행렬 입력값은 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
rank
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)