How to create a long matrix rapidly
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Sergio
am 17 Jan. 2024
Bearbeitet: Dyuman Joshi
am 17 Jan. 2024
I would like to create the given matrix
0 1 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1
1 1 1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 0
I thought of using the command "zeros" for the diagonal, and then use "ones", but "ones" does not exist.
For instance:
m=[0 ones(1,9);0 ones(0,9)....]
But that won't work.
How can I make such a matrix with such "condensed" commands instead of writing it out completely?
Thanks
0 Kommentare
Akzeptierte Antwort
Mann Baidi
am 17 Jan. 2024
Bearbeitet: Mann Baidi
am 17 Jan. 2024
Hi,
Assuming you would like to create a diagonal matrix with the diagonal as '0' and rest elements as '1'.
You can try the following code:
x=~diag(ones(10,1))
For more information on "diag" function, you can refer to the link below:
Hope this will help in resolving the query!
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!