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

7 vues (au cours des 30 derniers jours)
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!

Réponse acceptée

Jos (10584)
Jos (10584) le 3 Juil 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

Plus de réponses (1)

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

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by