I have an identity matrix. I want to put a '1' on the zeros that are right infront of the main diagonal, except at the very last '1'.
Is there an easy way to do it

 採用された回答

Walter Roberson
Walter Roberson 2022 年 8 月 9 日

0 投票

I = eye(7)
I = 7×7
1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
r = size(I,1);
newI = diag([ones(1,r-2), 0],-1) + I
newI = 7×7
1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeOperating on Diagonal Matrices についてさらに検索

質問済み:

cgo
2022 年 8 月 9 日

回答済み:

2022 年 8 月 9 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by