MATLAB 帮助中心
确定矩阵是否为对角矩阵
tf = isdiag(A)
如果 A 是对角矩阵,则 tf = isdiag(A) 返回逻辑值 1 (true)。否则,将返回逻辑值 0 (false)。
A
1
true
0
false
示例
全部折叠
创建一个 4×4 单位矩阵。
I = eye(4)
I = 4×4 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
测试矩阵是否为对角矩阵。
isdiag(I)
ans = logical 1
矩阵是对角矩阵,因为所有非零元素都在主对角线上。
创建一个主对角线和第一条对角线上具有非零元素的矩阵。
A = 3*eye(4) + diag([2 2 2],1)
A = 4×4 3 2 0 0 0 3 2 0 0 0 3 2 0 0 0 3
isdiag(A)
ans = logical 0
矩阵不是对角矩阵,因为主对角线上方有非零元素。
根据 A 的主对角线元素创建一个新矩阵 B。
B
B = diag(diag(A));
测试 B 是否为对角矩阵。
isdiag(B)
矩阵是对角矩阵,因为在主对角线上下没有非零元素。
输入数组。如果 A 有两个以上的维度,则 isdiag 返回逻辑值 0 (false)。
isdiag
数据类型: single | double | logical 复数支持: 是
single
double
logical
如果一个矩阵的主对角线上方和下方的所有元素均为零,则该矩阵为对角矩阵。主对角线上的任意数量的元素也可为零。
例如,此 4×4 单位矩阵是对角矩阵。
I4=(1000010000100001)
对角矩阵多为方阵,但并非全部为方阵。
使用 diag 函数可生成 isdiag 对其返回逻辑值 1 (true) 的对角矩阵。
diag
函数 isdiag、istriu 和 istril 是函数 isbanded 的特例,可使用适当定义的上带宽和下带宽执行所有相同测试。例如,isdiag(A) == isbanded(A,0,0)。
istriu
istril
isbanded
isdiag(A) == isbanded(A,0,0)
全部展开
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
isdiag 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2014a 中推出
istril | istriu | tril | triu | diag | isbanded | bandwidth
tril
triu
bandwidth
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处