How to generate a random matrix ?

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

To specify the size of a square matrix, it is only necessary to use one dimension:
x1 = randi([0, 1], 4)
The matrix-generating functions assume a square matrix.
How to generate unique random matrices ? Any algo for this?
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

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

Asked:

on 17 Apr 2016

Moved:

on 1 Nov 2022

Community Treasure Hunt

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

Start Hunting!