生成具有特定值的随机矩阵

时间:2018-05-16 09:20:07

标签: matlab matrix random

我是MATLAB的新手,我想创建一个随机的n * n矩阵,只包含-1 OR 1作为值。 有什么帮助吗?

3 个答案:

答案 0 :(得分:2)

我会使用randi

% Generate random array of 0s and 1s, *2 and -1 to give random values -1 or +1
m = randi([0,1], n)*2-1 

另请参阅:introductory docs on random integers

答案 1 :(得分:0)

我通常使用randi来生成我感兴趣的数字的索引。在您的情况下,您对数字感兴趣

a= [-1,1];

因此我们使用

b = randi(length(a),2,2); %Generate matrix of size 2x2

生成一组随机索引。最后,我们只需将索引转换为感兴趣的数字。

c = a(b); %Now a 2x2 matrix of -1, 1 numbers

答案 2 :(得分:-1)

A=rand(n);
thres=rand(1); % or whatever percentage
A=A>thres; % 1 and 0
A(A==0)=-1; % makes 0 -1