4

を使用して、MATLAB で対角行列を作成していeye(3)ます。主対角線の下の要素にのみ番号「2」を割り当てるにはどうすればよいですか?

4

2 に答える 2

5

このコマンドtrilには、どの下三角を正確に使用するかを制御する追加の引数があります。

A = eye(3) + 2*tril(ones(3), -1);
于 2012-12-25T11:39:52.230 に答える
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

そのようなマトリックスを作成する段階にある場合は、Shai が提案するように生成する必要があります。

于 2012-12-25T11:37:11.913 に答える