bandwidth
행렬의 하부 대역폭(Lower Bandwidth)과 상부 대역폭(Upper Bandwidth)
설명
예제
삼각 행렬의 대역폭 구하기
6×6 하부 삼각 행렬을 만듭니다.
A = tril(magic(6))
A = 6×6
35 0 0 0 0 0
3 32 0 0 0 0
31 9 2 0 0 0
8 28 33 17 0 0
30 5 34 12 14 0
4 36 29 13 18 11
type
을 'lower'
로 지정하여 A
의 하부 대역폭을 구합니다. 주대각선 아래 모든 대각선에 0이 아닌 요소가 있으므로 결과는 5입니다.
B = bandwidth(A,'lower')
B = 5
type
을 'upper'
로 지정하여 A
의 상부 대역폭을 구합니다. 주대각선 위에 0이 아닌 요소가 없으므로 결과는 0입니다.
B = bandwidth(A,'upper')
B = 0
희소 블록 행렬의 대역폭 구하기
100×100 희소 블록 행렬을 만듭니다.
B = kron(speye(25),ones(4));
B
왼쪽 위에서부터 10×10 섹션의 요소를 확인합니다.
full(B(1:10,1:10))
ans = 10×10
1 1 1 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 1 1 1 1 0 0
0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 1 1
B
는 주대각선의 중심에 4×4 블록이 있습니다.
2개의 출력 인수를 지정하여 B
의 하부 대역폭과 상부 대역폭을 모두 구합니다.
[lower,upper] = bandwidth(B)
lower = 3
upper = 3
입력 인수
A
— 입력 행렬
2차원 숫자형 행렬
입력 행렬로, 2차원 숫자형 행렬로 지정됩니다. A
는 비희소 행렬(Full Matrix)이거나 희소 행렬일 수 있습니다.
데이터형: single
| double
복소수 지원 여부: 예
type
— 대역폭 유형
'lower'
| 'upper'
대역폭 유형으로, 'lower'
나 'upper'
로 지정됩니다.
주대각선 아래 하부 대역폭의 경우
'lower'
를 지정합니다.주대각선 위 상부 대역폭의 경우
'upper'
를 지정합니다.
출력 인수
B
— 하부 대역폭 또는 상부 대역폭
음이 아닌 정수 스칼라
하부 대역폭 또는 상부 대역폭으로, 음이 아닌 정수 스칼라로 반환됩니다.
type
이'lower'
이면0
≤B
≤size(A,1)-1
입니다.type
이'upper'
이면0
≤B
≤size(A,2)-1
입니다.
lower
— 하부 대역폭
음이 아닌 정수 스칼라
하부 대역폭으로, 음이 아닌 정수 스칼라로 반환됩니다. lower
의 범위는 0
≤ lower
≤ size(A,1)-1
입니다.
upper
— 상부 대역폭
음이 아닌 정수 스칼라
상부 대역폭으로, 음이 아닌 정수 스칼라로 반환됩니다. upper
의 범위는 0
≤ upper
≤ size(A,2)-1
입니다.
세부 정보
상부 대역폭과 하부 대역폭
행렬의 상부 대역폭과 하부 대역폭은 각각 주대각선 위 또는 아래에서 0이 아닌 값을 포함하는 마지막 대각선을 찾는 방식으로 측정됩니다.
즉, 요소 Aij로 구성된 행렬 A의 경우:
상부 대역폭 B1은 일 때 이 되는 가장 작은 수입니다.
하부 대역폭 B2는 일 때 이 되는 가장 작은 수입니다.
참고로, 이 측정 방식은 대역(Band)에 있는 중간 대각선이 모두 0이 되는 것을 허용하는 대신 0이 아닌 값을 포함하는 마지막 대각선의 위치에 중점을 둡니다. 일반적으로 빈 행렬의 상부 대역폭과 하부 대역폭은 모두 0입니다.
팁
isbanded
함수를 사용하면 행렬이 특정 하부 대역폭이나 상부 대역폭 내에 있는지 테스트할 수 있습니다.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
코드 생성 시 이 함수에 대해 희소 행렬 입력값은 지원되지 않습니다.
스레드 기반 환경
MATLAB®의 backgroundPool
을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool
을 사용해 코드 실행 속도를 높일 수 있습니다.
이 함수는 스레드 기반 환경을 완전히 지원합니다. 자세한 내용은 스레드 기반 환경에서 MATLAB 함수 실행하기 항목을 참조하십시오.
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
bandwidth
함수는 GPU 배열을 완전히 지원합니다. GPU에서 이 함수를 실행하려면 입력 데이터를 gpuArray
(Parallel Computing Toolbox)로 지정하십시오. 자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
이 함수는 분산 배열을 완전히 지원합니다. 자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2014a에 개발됨
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)