isbanded
确定矩阵是否在特定带宽范围内
说明
示例
测试方阵
创建一个主对角线上方和下方有非零对角线的 5×5 方阵。
A = [2 3 0 0 0 ; 1 -2 -3 0 0; 0 -1 2 3 0 ; 0 0 1 -2 -3; 0 0 0 -1 2]
A = 5×5
2 3 0 0 0
1 -2 -3 0 0
0 -1 2 3 0
0 0 1 -2 -3
0 0 0 -1 2
将两个带宽 lower
和 upper
均指定为 1
以测试 A
是否为三对角矩阵。
isbanded(A,1,1)
ans = logical
1
结果为逻辑值 1
(true
)。
通过将 lower
指定为 0
来测试 A
的主对角线下方是否有非零元素。
isbanded(A,0,1)
ans = logical
0
结果为逻辑值 0
(false
),这是因为 A
的主对角线下方有非零元素。
测试非方阵
创建一个 3×5 矩阵。
A = [1 0 0 0 0; 2 1 0 0 0; 3 2 1 0 0]
A = 3×5
1 0 0 0 0
2 1 0 0 0
3 2 1 0 0
测试 A
的主对角线上方是否有非零元素。
isbanded(A,2,0)
ans = logical
1
结果为逻辑值 1
(true
),这是因为主对角线上方的元素均为零。
测试稀疏分块矩阵
创建一个 100×100 的稀疏分块矩阵。
B = kron(speye(25),ones(4));
测试 B
的下带宽和上带宽是否为 1
。
isbanded(B,1,1)
ans = logical
0
结果为逻辑值 0
(false
),这是因为集中在主对角线上的非零分块大于 2×2。
测试 B
的下带宽和上带宽是否为 3
。
isbanded(B,3,3)
ans = logical
1
结果为逻辑值 1
(true
)。矩阵 B
的上带宽和下带宽为 3
,因为非零对角分块为 4×4。
输入参数
A
— 输入数组
数值数组
输入数组,指定为数值数组。如果 A
具有两个以上的维度,则 isbanded
返回逻辑值 0
(false
)。
数据类型: single
| double
复数支持: 是
lower
— 下带宽
非负整数标量
下带宽,指定为非负整数标量。下带宽是主对角线下方的非零对角线数目。如果边界对角线 diag(A,-lower)
下方有非零元素,则 isbanded
返回逻辑值 0
(false
)。
upper
— 上带宽
非负整数标量
上带宽,指定为非负整数标量。上带宽是主对角线上方的非零对角线数目。如果边界对角线 diag(A,upper)
上方有非零元素,则 isbanded
返回逻辑值 0
(false
)。
提示
使用
bandwidth
函数可计算给定矩阵的上带宽和下带宽。使用
isbanded
可通过指定相应的上带宽和下带宽来测试若干个不同矩阵结构体。下表列出了一些常见的测试。下带宽
上带宽
函数调用
测试对象
0
0
isbanded(A,0,0)
对角矩阵
1
1
isbanded(A,1,1)
三对角矩阵
0
size(A,2)
isbanded(A,0,size(A,2))
上三角矩阵
size(A,1)
0
isbanded(A,size(A,1),0)
下三角矩阵
1
size(A,2)
isbanded(A,1,size(A,2))
上 Hessenberg 矩阵
size(A,1)
1
isbanded(A,size(A,1),1)
下 Hessenberg 矩阵
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。
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)