How to shift the element in diagonal matrix

As question mentioned, I created a matrix
v = [4 5 6 7]
diag(v)
then, I would like to have a matrix as [0 4 0 0; 0 0 5 0; 0 0 0 6; 7 0 0 0] also [0 0 0 4; 5 0 0 0; 0 6 0 0; 0 0 7 0] by using the command diag, is there any way to do?
Thank you !

 Akzeptierte Antwort

Birdman
Birdman am 24 Mär. 2018

0 Stimmen

>>circshift(diag(v),1,2)
0 4 0 0
0 0 5 0
0 0 0 6
7 0 0 0
>>circshift(diag(v),-1,2)
0 0 0 4
5 0 0 0
0 6 0 0
0 0 7 0

1 Kommentar

jia ying
jia ying am 24 Mär. 2018
Thanks a lot, your help is appreciated !
*ps: new to matlab

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 24 Mär. 2018

Kommentiert:

am 24 Mär. 2018

Community Treasure Hunt

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

Start Hunting!

Translated by