bandwidth

Нижняя и верхняя матричные полосы пропускания

Описание

пример

B = bandwidth(A,type) возвращает пропускную способность матрицы A определяется type. Задайте type как 'lower' для нижней полосы пропускания или 'upper' для верхней полосы пропускания.

пример

[lower,upper] = bandwidth(A) возвращает нижнюю полосу пропускания, lower, и верхняя полоса пропускания, upper, из матрицы A.

Примеры

свернуть все

Создайте нижнюю треугольную матрицу 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

Нахождение нижней полосы пропускания A путем определения type как 'lower'. Результат равен 5, поскольку каждая диагональ ниже основной диагонали имеет ненулевые элементы.

B = bandwidth(A,'lower')
B = 5

Нахождение верхней полосы пропускания A путем определения type как 'upper'. Результат 0, поскольку ненулевых элементов выше основной диагонали нет.

B = bandwidth(A,'upper')
B = 0

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

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

Смотрите раздел элементов 10 на 10 слева вверху B.

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 блока таковых с центром на основной диагонали.

Найдите и нижнюю, и верхнюю полосы B путем определения двух выходных аргументов.

[lower,upper] = bandwidth(B)
lower = 3
upper = 3

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

свернуть все

Входная матрица, заданная как 2-D числовая матрица. A может быть либо полным, либо разреженным.

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

Тип полосы пропускания, заданный как 'lower' или 'upper'.

  • Задайте 'lower' для нижней полосы пропускания (ниже основной диагонали).

  • Задайте 'upper' для верхней полосы пропускания (выше основной диагонали).

Выходные аргументы

свернуть все

Нижняя или верхняя полоса, возвращенная как неотрицательный целочисленный скаляр.

  • Если type является 'lower', затем 0 ≤ B ≤ size(A,1)-1.

  • Если type является 'upper', затем 0 ≤ B ≤ size(A,2)-1.

Более низкая полоса пропускания, возвращенная как неотрицательный целочисленный скаляр. lower находится в области значений 0 ≤ lower ≤ size(A,1)-1.

Верхняя полоса пропускания, возвращенная как неотрицательный целочисленный скаляр. upper находится в области значений 0 ≤ upper ≤ size(A,2)-1.

Подробнее о

свернуть все

Верхняя и нижняя полосы пропускания

Верхняя и нижняя полосы пропускания матрицы измеряются путем нахождения последней диагонали (выше или ниже основной диагонали, соответственно), которая содержит ненулевые значения.

То есть для матрицы A с элементами A ij:

  • Верхняя полоса пропускания B 1 является наименьшим числом, таким чтоAij=0 каждый раз, когда ji>B1.

  • Нижняя полоса пропускания B 2 является наименьшим числом, таким чтоAij=0 каждый раз, когда ij>B2.

Обратите внимание, что это измерение не препятствует тому, чтобы промежуточные диагонали в полосе были все нулевыми, а вместо этого фокусируется на местоположении последней диагонали, содержащей ненулевые. По соглашению, верхняя и нижняя полосы пропускания пустой матрицы равны нулю.

Совет

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

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

.

См. также

| | | |

Введенный в R2014a