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