How to check a matrix is multibanded?
1 次查看(过去 30 天)
显示 更早的评论
I have a sparse matrix which I need to verify whether it is multibanded or not?
0 个评论
回答(1 个)
Chunru
2021-9-21
% Create a banded sparse matrix
B = bucky;
r = symrcm(B)
a=B(r,r);
imagesc(a);
% Check if it is banded
m = size(a,1); % assuming square matrix
lb = m;
ub = m;
for i=-m+1:0
% check the diagonal
if all(diag(a, i)==0)
lb = i;
else
break
end
end
for i=m-1:-1:0
% check the diagonal
if all(diag(a, i)==0)
ub = i;
else
break
end
end
[lb, ub]
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!