How to rearrange matrix with the given matrix?

1 view (last 30 days)
Hi
let consider, we have a given matrix.
Initial given matrix:
columns
rows 2 5
4 3
1 6
7 8
I want to reshape or rearrange matrix.(it can return any matrix but it should not have pair (2,5),(4,3),(1.6),(7,8)). But should able to re-generate for test validity. The matrix which i want or expected is
columns
rows 2 3/1/6/7/8 (any value but not 5) (let i select 6)
4 5/1/7/8 (any value but not 3, (2,6)) (let I select 8)
1 3/5/7 (any value but not 6,(2,6),(4,8)) (let I select 5)
7 3 (only one value left )
So the above matrix look like:
columns
rows 2 6
4 8
1 5
7 3
  1 Comment
Rik
Rik on 9 Jan 2022
There is no guarantee there is a solution for every input.
What did you try yourself?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 9 Jan 2022
circshift() the second column.
Or use trial and error:
V = [5; 3; 6; 8];
pV = perms(V);
valids = pV(all(pV ~= V.',2), :)
valids = 9×4
8 6 3 5 8 6 5 3 8 5 3 6 6 8 3 5 6 8 5 3 6 5 8 3 3 8 5 6 3 6 8 5 3 5 8 6

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!