如何看一个矩阵是否是块三对角的matlab



我使用的是matlab,我有这个平方矩阵。我需要检查它是否是块三对角(具有大小为NxN的块(。有简单的方法吗?

假设一个[r x r]矩阵A和大小为[N x N]的块构造一个1和0的块三对角矩阵k,并比较两个矩阵Ak的非零元素的索引:

r = size(A, 1);
Bin = ones(r/N, 3);
S = spdiags(Bin, -1:1, r/N, r/N);
k = kron(S, ones(N));
f = find(k);
fA = find(A);
is_A_block_tridiagonal = all(ismember(fA, f));

相关内容

  • 没有找到相关文章

最新更新