MATLAB: Lower Triangle of Matrix

for loopmatrix

I know that if you have a matrix A, triu(A) will fill the lower triangular matrix with zeros, but is there a way to make that ones instead of zeros? Thanks!

Best Answer

No. You cannot tell triu to fill with ones instead of zeros. That does not mean what you are asking is impossible, just that you need to be creative in how you use these tools.
A = magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
triu(A) + tril(ones(size(A)),-1)
ans =
17 24 1 8 15
1 5 7 14 16
1 1 13 20 22
1 1 1 21 3
1 1 1 1 9