MATLAB: How to extract the upper triangular part of a matrix and set only the off-diagonal values to pi

matrixtriangulartriu

Hi all,
I got a matrix A = ones(1,1).
When I use triu(ones(1,1)) the lower triangular part of the matrix gets zero.
What I need to do is that instead of zero it gets pi.
That means: 1 1 1 pi 1 1 pi pi 1
Is there any possibility to integrate this into the triu function?
Thanks!

Best Answer

Your statements make no sense: ones(1,1) wil give you the scalar 1 ...
I think you are after something like this:
N = 3
A = ones(N)
tf = tril(true(N),-1)
A(tf) = 2