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 ]

回答(3 个)

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 个评论

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

请先登录,再进行评论。

Harshit Agarwal
Harshit Agarwal 2019-4-1

0 个投票

theta = [2,1]

1 个评论

That is not a 4-by-4 square. And, it is not binary. So it's not an answer to Firas's question.

请先登录,再进行评论。

Jenin
Jenin 2022-10-31
移动:Image Analyst 2022-11-1

0 个投票

You can use x = rand(4,4,20), It will gives you 20 set of 4x4 matrices.

类别

帮助中心File Exchange 中查找有关 Random Number Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by