我有一个问题,我想生成一个 4 列和 1 行的表格,整数在 0 到 9 范围内,不重复并且每次运行时都是随机的。
到达这里,但我有一个问题,我总是在第一个元素中生成一个 0。而且我不知道如何设置 0-9 的限制
谁能帮帮我?
函数代码:
function [ n ] = generar( )
n = [-1 -1 -1 -1];
for i = 1:4
r=abs(i);
dig=floor((r-floor(r))*randn);
while find (n == dig)
r=r+1;
dig=dig+floor(r-randn);
end
n(i)=dig;
end
end
结果:
generar()
ans =
0 3 9 6
generar()
ans =
0 2 4 8
我不知道这篇文章是否重复,但我需要帮助解决我的具体问题。
最佳答案
所以假设你需要 matlab,因为你提供的代码是 matlab,你可以简单地这样做:
randperm(10, 4) - 1
这将为您提供 4 个从 0-9
中的唯一随机数。
关于c++ - 在 matlab 上生成具有限制的随机 vector 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966132/