2012-12-25 68 views

回答

3

如果您有兴趣元素分配到已存在的矩阵中,您可以使用tril与Shai的答案类似,并将其与逻辑索引结合使用。例如:

A = eye(3); 
idx = tril(true(size(A)), -1); % # Lower triangular half 
A(idx) = 2 

哪些应该得到期望的结果:

A = 

    1  0  0 
    2  1  0 
    2  2  1 

如果你在建立这样一个矩阵的阶段,那么你应该喜欢晒表明生成它。

+0

我复制并粘贴代码: A =眼(3); idx = tril(true(size(A),-1)); A(idx)= 2 但我仍然得到了单位矩阵。我做错了什么? – Shakedk

+0

@ user1928113对不起,我忘记关闭大小(A)'后面的括号,并且你错放了它们。请尝试固定的答案。 –

5

命令tril有一个额外的参数,控制哪个下三角准确使用。

A = eye(3) + 2*tril(ones(3), -1); 
+2

+1:很好,我不知道。 –

+0

@EitanT - 你的答案在哪里?当我发布我的时候,我只是看到了它... – Shai

+0

我删除它,因为它完全与您的相比不足。 –

相关问题