isbanded

Определите, ли матрица в определенной пропускной способности

Описание

пример

tf = isbanded(A,lower,upper) возвращает логический 1 TRUE) если матричный A в заданной более низкой пропускной способности, lower, и верхняя пропускная способность, upper; в противном случае это возвращает логический 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

Задайте обе пропускной способности, lower и upper, как 1 протестировать если A трехдиагонально.

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

Результатом является логический 1 TRUE).

Протестируйте если A имеет ненулевые элементы ниже основной диагонали путем определения lower как 0.

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

Результатом является логический 0 ложь) потому что A имеет ненулевые элементы ниже основной диагонали.

Создайте матрицу 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 имеет ненулевые элементы выше основной диагонали.

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

Результатом является логический 1 TRUE) потому что элементы выше основной диагонали являются всем нулем.

Создайте 100 100 разреженную блочную матрицу.

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

Протестируйте если B имеет более низкую и верхнюю пропускную способность 1.

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

Результатом является логический 0 ложь) потому что ненулевые блоки, сосредоточенные на основной диагонали, больше, чем 2 на 2.

Протестируйте если B имеет более низкую и верхнюю пропускную способность 3.

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

Результатом является логический 1 TRUE). Матрица, B, имеет верхнюю и более низкую пропускную способность 3 поскольку ненулевые диагональные блоки 4 на 4.

Входные параметры

свернуть все

Входной массив, заданный как числовой массив. isbanded возвращает логический 0 ложь) если A имеет больше чем две размерности.

Типы данных: single | double
Поддержка комплексного числа: Да

Более низкая пропускная способность, заданная как неотрицательный целочисленный скаляр. Более низкая пропускная способность является количеством ненулевых диагоналей ниже основной диагонали. isbanded возвращает логический 0 ложь) если существуют ненулевые элементы ниже граничной диагонали, diag(A,-lower).

Верхняя пропускная способность, заданная как неотрицательный целочисленный скаляр. Верхняя пропускная способность является количеством ненулевых диагоналей выше основной диагонали. isbanded возвращает логический 0 ложь) если существуют ненулевые элементы выше граничной диагонали, diag(A,upper).

Советы

  • Используйте bandwidth функционируйте, чтобы найти верхнюю и более низкую пропускную способность данной матрицы.

  • Используйте isbanded протестировать на несколько различных матричных структур путем определения соответствующей верхней и более низкой пропускной способности. Таблица ниже приводит некоторые общие тесты.

    Более низкая пропускная способность

    Верхняя пропускная способность

    Вызов функции

    Тесты для

    00isbanded(A,0,0)

    Диагональная матрица

    11isbanded(A,1,1)

    Трехдиагональная матрица

    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))

    Верхняя матрица Хессенберга

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

    Более низкая матрица Хессенберга

Расширенные возможности

Смотрите также

| | | |

Введенный в R2014a