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 可以是满矩阵或稀疏矩阵。
数据类型: 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 范围内。
详细信息
矩阵的上带宽和下带宽是通过求包含非零值的最远一个对角线(分别在主对角线上方或下方)测得的。
即,对于包含元素 Aij 的矩阵 A:
上带宽 B1 是最小数,这样无论何时 ,。
下带宽 B2 是最小数,这样无论何时 ,。
请注意,该测量值允许波段中的中间对角线全部为零,它关注的是包含非零值的最远一个对角线。按照惯例,空矩阵的上带宽和下带宽都为零。
提示
使用
isbanded函数测试矩阵是否位于特定的下带宽和上带宽范围内。
扩展功能
用法说明和限制:
对于稀疏矩阵,输入
type参量必须为常量。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
bandwidth 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2014a 中推出bandwidth 支持稀疏矩阵输入的 C/C++ 代码生成。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)