(Anti)diagonal automation

Counting from the top right element to the the bottom left element of an indicative 5x5 matrix, is there a quick way to automate the simulation of all the antidiagonals?
a(1,1) =1
a(2,1) =2
a(1,2) =2
a(3,1)= 3
a(2,2)=3
a(1,3)=3
a(4,1)=4
a(2,3)=4
a(3,2)=4
a(1,4)=4
a(1,5)=5
a(4,2)=5
a(3,3)=5
a(2,4)=5
a(5,1)=5
a(5,5)=1

4 Comments

What does it mean to "simulate" the anti-diagonals?
Are you asking how to create that array?
It is not clear what your goal is, since you do not seem to be doing something consistent along all the anti-diagonals.
antidiagonal: All elements from the top right element to the the bottom left element. The code describes 5 of them for an indicative 5x5 matrix.
John D'Errico
John D'Errico on 17 Feb 2018
Edited: John D'Errico on 17 Feb 2018
Sigh. I know what an anti-diagonal is.
What you have not said is what is your goal. You filled only the first 5 anti-diagonals. Then you stuffed the (5,5) element with a 1. So what are you looking to get? Why did you not fill the other ant-diagonals? How do we know what you are looking for here?
Finally, what does it mean to SIMULATE anti-diagonal?
how can I take the elements of all antidiagonals from any matrix?

Sign in to comment.

Answers (1)

Steven Lord
Steven Lord on 17 Feb 2018
Flip the matrix using the flip function then call diag.

3 Comments

I am searching for a code to use it for the other (smaller) anti-diagonals as well.
The second argument in the 'diag' function provides for the smaller diagonals, which "flipped" would be the smaller anti-diagonals.

Sign in to comment.

Categories

Products

Asked:

on 17 Feb 2018

Community Treasure Hunt

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

Start Hunting!