2013-11-01 437 views
2

一个简单的问题,我有一个稀疏矩阵A和一个索引列表b = [2, 3, 4 ...],我想设置A(2, 2), A(3, 3), A(4, 4)... = 0。我试过A(b,b)= 0,结果是A(2, 3), A(2, 4), A(3, 2), A(3, 4), A(4, 2), A(4, 3)和这个矩阵的一些非对角线元素也设为零,怎么处理呢?在Matlab中设置矩阵的一些对角线元素

回答

3

使用linear indexing

A(sub2ind(size(A),b,b)) = 0; 

这适用于全部或稀疏矩阵。