Нижняя и верхняя матричные полосы пропускания
возвращает пропускную способность матрицы B
= bandwidth(A
,type
)A
определяется type
. Задайте type
как 'lower'
для нижней полосы пропускания или 'upper'
для верхней полосы пропускания.
Создайте нижнюю треугольную матрицу 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
A
- Входная матрицаВходная матрица, заданная как 2-D числовая матрица. A
может быть либо полным, либо разреженным.
Типы данных: 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
.
Верхняя и нижняя полосы пропускания матрицы измеряются путем нахождения последней диагонали (выше или ниже основной диагонали, соответственно), которая содержит ненулевые значения.
То есть для матрицы A с элементами A ij:
Верхняя полоса пропускания B 1 является наименьшим числом, таким что каждый раз, когда .
Нижняя полоса пропускания B 2 является наименьшим числом, таким что каждый раз, когда .
Обратите внимание, что это измерение не препятствует тому, чтобы промежуточные диагонали в полосе были все нулевыми, а вместо этого фокусируется на местоположении последней диагонали, содержащей ненулевые. По соглашению, верхняя и нижняя полосы пропускания пустой матрицы равны нулю.
Используйте isbanded
функция, чтобы проверить, находится ли матрица в пределах определенной нижней и верхней полосы пропускания.
Указания и ограничения по применению:
Генерация кода не поддерживает разреженные матричные входы для этой функции.
Эта функция полностью поддерживает массивы GPU. Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.