Main Content

isbanded

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

설명

예제

tf = isbanded(A,lower,upper)A가 지정된 하부 대역폭과 상부 대역폭 내에 있는 행렬이면 논리값 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

하부 대역폭과 상부 대역폭을 모두 1로 지정하여 행렬이 삼중대각 행렬인지 테스트합니다.

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

이 행렬은 주대각선과 주대각선 위와 아래에 있는 대각선에만 0이 아닌 요소를 갖기 때문에 삼중대각 행렬입니다.

하부 대역폭을 0으로 지정하여 행렬에 주대각선 아래에 값이 0인 요소만 있는지 테스트합니다.

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

행렬이 주대각선 아래에 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

행렬이 주대각선 위에 값이 0인 요소만 갖는지 테스트합니다.

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

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

100×100 희소 블록 행렬을 만듭니다. 행렬이 하부 대역폭과 상부 대역폭 1 내에 있는지 테스트합니다.

B = kron(speye(25),ones(4));
isbanded(B,1,1)
ans = logical
   0

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

행렬이 하부 대역폭과 상부 대역폭 3 내에 있는지 테스트합니다.

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

0이 아닌 대각선 블록은 4×4이므로 행렬의 상부 대역폭과 하부 대역폭은 3입니다.

입력 인수

모두 축소

입력 배열. isbandedA의 차원이 2차원을 넘을 경우 논리값 0(false)을 반환합니다.

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

하부 대역폭으로, 음이 아닌 정수 스칼라로 지정됩니다. 하부 대역폭은 주대각선 아래 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에 개발됨

참고 항목

| | | |