Main Content

isbanded

행렬이 특정 대역폭 내에 있는지 확인

설명

예제

tf = isbanded(A,lower,upper)는 행렬 A가 지정된 하부 대역폭 lower와 상부 대역폭 upper 내에 있을 경우 논리값 1(true)을 반환하고, 그렇지 않으면 논리값 0(false)을 반환합니다.

예제

모두 축소

주대각선 위와 아래에 0이 아닌 대각선을 갖는 5×5 정사각 행렬을 만듭니다.

A = [2 3 0 0 0 ; 1 -2 -3 0 0; 0 -1 2 3 0 ; 0 0 1 -2 -3; 0 0 0 -1 2]
A = 5×5

     2     3     0     0     0
     1    -2    -3     0     0
     0    -1     2     3     0
     0     0     1    -2    -3
     0     0     0    -1     2

대역폭 lowerupper를 모두 1로 지정하여 A가 삼중 대각 행렬(Tridiagonal Matrix)인지 테스트합니다.

isbanded(A,1,1)
ans = logical
   1

결과는 논리값 1(true)입니다.

lower0으로 지정하여 A가 주대각선 아래에 0이 아닌 요소를 갖는지 테스트합니다.

isbanded(A,0,1)
ans = logical
   0

A가 주대각선 아래에 0이 아닌 요소를 갖기 때문에 결과는 논리값 0(false)입니다.

3×5 행렬을 만듭니다.

A = [1 0 0 0 0; 2 1 0 0 0; 3 2 1 0 0]
A = 3×5

     1     0     0     0     0
     2     1     0     0     0
     3     2     1     0     0

A가 주대각선 위에 0이 아닌 요소를 갖는지 테스트합니다.

isbanded(A,2,0)
ans = logical
   1

주대각선 위의 요소가 모두 0이므로 결과는 논리값 1(true)입니다.

100×100 희소 블록 행렬을 만듭니다.

B = kron(speye(25),ones(4));

B의 하부 대역폭과 상부 대역폭이 1인지 테스트합니다.

isbanded(B,1,1)
ans = logical
   0

주대각선 중앙에 있는 0이 아닌 블록이 2×2보다 크므로 결과는 논리값 0(false)입니다.

B의 하부 대역폭과 상부 대역폭이 3인지 테스트합니다.

isbanded(B,3,3)
ans = logical
   1

결과는 논리값 1(true)입니다. 0이 아닌 대각선 블록은 4×4이므로 행렬 B의 상부 대역폭과 하부 대역폭은 3입니다.

입력 인수

모두 축소

입력 배열로, 숫자형 배열로 지정됩니다. isbandedA의 차원이 2차원을 넘을 경우 논리값 0(false)을 반환합니다.

데이터형: single | double
복소수 지원 여부:

하부 대역폭으로, 음이 아닌 정수 스칼라로 지정됩니다. 하부 대역폭은 주대각선 아래 0이 아닌 요소를 가진 대각선의 개수입니다. isbanded는 경계 대각선 diag(A,-lower) 아래에 0이 아닌 요소가 있을 경우 논리값 0(false)을 반환합니다.

상부 대역폭으로, 음이 아닌 정수 스칼라로 지정됩니다. 상부 대역폭은 주대각선 위 0이 아닌 요소를 갖는 대각선의 개수입니다. isbanded는 경계 대각선 diag(A,upper) 위에 0이 아닌 요소가 있을 경우 논리값 0(false)을 반환합니다.

  • 지정된 행렬의 상부 대역폭과 하부 대역폭을 찾으려면 bandwidth 함수를 사용하십시오.

  • 여러 다른 행렬 구조체 여부를 적절한 상부 대역폭과 하부 대역폭을 지정하여 isbanded로 테스트하십시오. 아래 표에는 몇 가지 일반적인 테스트가 나와 있습니다.

    하부 대역폭

    상부 대역폭

    함수 호출

    테스트 대상

    00isbanded(A,0,0)

    대각 행렬

    11isbanded(A,1,1)

    삼중대각 행렬(Tridiagonal Matrix)

    0size(A,2)isbanded(A,0,size(A,2))

    상부 삼각 행렬

    size(A,1)0isbanded(A,size(A,1),0)

    하부 삼각 행렬

    1size(A,2)isbanded(A,1,size(A,2))

    상부 헤센베르크 행렬(Upper Hessenberg Matrix)

    size(A,1)1isbanded(A,size(A,1),1)

    하부 헤센베르크 행렬(Lower Hessenberg Matrix)

확장 기능

버전 내역

R2014a에 개발됨

참고 항목

| | | |