bandwidth
矩阵的上下带宽
说明
示例
计算三角矩阵的带宽
创建一个 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
通过将 type
指定为 'lower'
来计算 A
的下带宽。结果为 5,原因是主对角线下方的每个对角线都有非零元素。
B = bandwidth(A,'lower')
B = 5
通过将 type
指定为 'upper'
来计算 A
的上带宽。结果为 0,原因是主对角线上方没有非零元素。
B = bandwidth(A,'upper')
B = 0
计算稀疏分块矩阵的带宽
创建一个 100×100 的稀疏分块矩阵。
B = kron(speye(25),ones(4));
查看 B
左上角一个 10×10 部分的元素。
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 个由 1 组成的数据块,每个块都以主对角线为中心。
通过指定两个输出参数来计算 B
的下带宽和上带宽。
[lower,upper] = bandwidth(B)
lower = 3
upper = 3
输入参数
A
— 输入矩阵
二维数值矩阵
输入矩阵,指定为一个二维数值矩阵。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
范围内。
详细信息
上带宽和下带宽
矩阵的上带宽和下带宽是通过求包含非零值的最远一个对角线(分别在主对角线上方或下方)测得的。
即,对于包含元素 Aij 的矩阵 A:
上带宽 B1 是最小数,这样无论何时 ,。
下带宽 B2 是最小数,这样无论何时 ,。
请注意,该测量值允许条带中的中间对角线全部为零,它关注的是包含非零值的最远一个对角线。按照惯例,空矩阵的上带宽和下带宽都为零。
提示
使用
isbanded
函数测试矩阵是否位于特定的下带宽和上带宽范围内。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2014a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)