How can I extract the upper triangular part of a matrix and set only the off-diagonal values to pi?

7 views (last 30 days)
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!

Accepted Answer

Jos (10584)
Jos (10584) on 3 Jul 2016
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

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 3 Jul 2016
out = pi*tril(A,-1) + triu(A)

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!