我有固定数字:-3,-1,1,3。如何随机生成如下矩阵?
1 -1 -3 -1
3 -3 -3 3
3 3 1 -1
3 -3 3 -1
答案 0 :(得分:3)
使用randi
在可能值的向量中创建随机索引值:
x = [-3 -1 1 3]
y = randi(length(x),[5 5]);
y = x(y);
答案 1 :(得分:1)
虽然@nkjt's answer可能是要走的路,但如果你有统计工具箱,你可以使用randsample
(替换)简化一点:
result = NaN(3,6); %// define required size
result(:) = randsample([-3 -1 1 3], numel(result), true);
或者,如果原始数字在示例中的间距相等,则可以在一行中解决:
result = 2*randi(4,[3 6])-5; %// "2" and "5" as per your original values
答案 2 :(得分:-1)
您可以使用
randperm
随机排列