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

7 ビュー (過去 30 日間)
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!

採用された回答

Jos (10584)
Jos (10584) 2016 年 7 月 3 日
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

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2016 年 7 月 3 日
out = pi*tril(A,-1) + triu(A)

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by