【发布时间】:2018-10-26 06:34:19
【问题描述】:
我是 MATLAB 新手,我想创建一个随机 n*n 矩阵,其中仅包含 -1 或 1 作为值。 有什么帮助吗?
【问题讨论】:
-
请查看stackoverflow.com/help/how-to-ask,然后在您的问题中添加详细信息和代码。
-
“随机”没有任何意义,除非您指定条目的(联合)分布
我是 MATLAB 新手,我想创建一个随机 n*n 矩阵,其中仅包含 -1 或 1 作为值。 有什么帮助吗?
【问题讨论】:
A=rand(n);
thres=rand(1); % or whatever percentage
A=A>thres; % 1 and 0
A(A==0)=-1; % makes 0 -1
【讨论】:
我会使用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
【讨论】:
我通常使用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
【讨论】: