在Matlab中设置矩阵的一些对角元素

时间:2013-11-01 16:53:52

标签: matlab matrix diagonal

一个简单的问题,我有一个稀疏矩阵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)和这个矩阵的一些非对角元素也设置为零,如何处理?

1 个答案:

答案 0 :(得分:3)

使用linear indexing

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

这适用于完整或稀疏矩阵。