Generate a random matrix without repeating any value in row and column.
6 views (last 30 days)
Show older comments
Ashuftah Shigri
on 20 Oct 2019
Commented: Bruno Luong
on 4 Dec 2022
How can I generate a random matrix without repeating any value in row and column. form "randi" function.
If we generate a matrix.
then the answer may be like this
randi(4,4)
ans =
4 2 3 1
3 4 1 2
1 3 2 4
2 1 4 3
this is just for example not generated matrix.
I have used the "unique" function. by this i can control the repeatition in row only.
0 Comments
Accepted Answer
Bruno Luong
on 20 Oct 2019
Edited: Bruno Luong
on 20 Oct 2019
A=mod((0:3)+(0:3)',4)+1;
R=A(randperm(end),randperm(end))
2 Comments
Pool
on 4 Dec 2022
Is it possible to make this into a 16x4 matrix? with fixed, non-random values?
A=mod((0:3)+(0:15)',2)+1;
r=A(randperm(end),randperm(end))
s=zeros(16,4);
% t=zeros(16,4);
r(r==2)=5;
This does not make unqieu arrays though
Bruno Luong
on 4 Dec 2022
@Pool It's not possible : You can never have unique values on 16 rows and 4 colums with only 2 values.
More Answers (0)
See Also
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!