Clear Filters
Clear Filters

How to generate a random matrix ?

389 views (last 30 days)
Firas Al-Kharabsheh
Firas Al-Kharabsheh on 17 Apr 2016
Moved: Image Analyst on 1 Nov 2022
how to generate (4,4) a 20 binary random matrix in one function? like this
x1 = [ 1 0 1 0
1 1 0 0
0 1 1 0
0 0 1 0 ]
x2 = [ 1 1 0 1
0 1 0 0
1 1 0 1
0 1 0 1 ]
.
.
.
.
x20 = [ 1 0 1 0
0 0 0 1
1 1 1 0
1 0 1 1 ]

Answers (3)

Image Analyst
Image Analyst on 17 Apr 2016
Edited: Image Analyst on 17 Apr 2016
Try this:
x1 = randi([0, 1], [4,4])
Repeat for all of the other x. Or else (better because it's possibly more convenient), make a 3D array of 4-by-4-by-20.
Note: x1 is a double. If you want a binary as a boolean or logical, cast to logical:
x1 = logical(randi([0, 1], [4,4]))
  3 Comments
Hirak Basumatary
Hirak Basumatary on 14 Jun 2019
How to generate unique random matrices ? Any algo for this?
Image Analyst
Image Analyst on 14 Jun 2019
You can use isequal() to compare the new matrix against any prior matrix.
if ~isequal(testMatrix, existingMatrix)
% Generate new test matrix
end

Sign in to comment.


Harshit Agarwal
Harshit Agarwal on 1 Apr 2019
theta = [2,1]
  1 Comment
Image Analyst
Image Analyst on 1 Apr 2019
That is not a 4-by-4 square. And, it is not binary. So it's not an answer to Firas's question.

Sign in to comment.


Jenin
Jenin on 31 Oct 2022
Moved: Image Analyst on 1 Nov 2022
You can use x = rand(4,4,20), It will gives you 20 set of 4x4 matrices.

Categories

Find more on Random Number Generation 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!