Creating a matrix using diag
Show older comments
Hi,
Would you please help me to write a script with "diag" command to create the matrix as shown in image. http://s1.postimage.org/5i4gd1esv/matrix.jpg By they way, it's a 99 X 99 matrix.
Thank you, John
2 Comments
John Edward
on 27 Jan 2013
Accepted Answer
More Answers (2)
Walter Roberson
on 27 Jan 2013
diag(this, -1) + diag(that) + diag(theother,1)
1 Comment
John Edward
on 27 Jan 2013
A small example
>> A=diag([1,1,1])-diag([1,1],1); A=A+A.'
A =
2 -1 0
-1 2 -1
0 -1 2
4 Comments
John Edward
on 27 Jan 2013
Matt J
on 27 Jan 2013
If you understood how it works for 3x3, it should be pretty obvious how to extend it to the 99x99 case.
John Edward
on 27 Jan 2013
Matt J
on 27 Jan 2013
I don't know what more help I can give without just doing the whole thing for you. Are you aware that
>> help diag
or
>> doc diag
will display an explanation of the diag command? If you've read that documentation, it should be really easy. Some more examples:
>> diag([1 2 3 4]), diag([10 20 30], 2), diag([5 7 6],-1)
ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
ans =
0 0 10 0 0
0 0 0 20 0
0 0 0 0 30
0 0 0 0 0
0 0 0 0 0
ans =
0 0 0 0
5 0 0 0
0 7 0 0
0 0 6 0
Categories
Find more on Matrices and Arrays 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!