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参量必须为常量。
请参阅“C/C++ 代码生成”部分中的用法说明和限制。同样的用法说明和限制也适用于 GPU 代码生成。
bandwidth 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
bandwidth 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
bandwidth 函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 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)