【发布时间】:2011-01-10 06:35:11
【问题描述】:
例如:
round(7*rand(1,5))
在 1 到 7 之间生成 5 个数字 有没有办法在 5 到 7 之间生成 5 个随机数? 还是对它的抽象?
【问题讨论】:
标签: matlab random numbers integer range
例如:
round(7*rand(1,5))
在 1 到 7 之间生成 5 个数字 有没有办法在 5 到 7 之间生成 5 个随机数? 还是对它的抽象?
【问题讨论】:
标签: matlab random numbers integer range
首先,如果你想生成随机的整数值,最好使用函数RANDI。然后只需相应地移动和缩放随机数即可。以下应为您提供介于 5 和 7 之间的随机整数:
nums = randi(3,[1 5])+4;
编辑:正如 Amro 的评论和 Doug's answer 指出的那样,有一个更直接的解决方案,您可以直接将范围指定为 RANDI 的第一个参数:
nums = randi([5 7],[1 5]);
【讨论】:
randi([5 7],[1 5])
更一般地说:
minInt = 5;
maxInt = 7;
numInts = 10;
r = randi([minInt, maxInt],[1,numInts])
r =
6 7 7 7 6 5 5 5 7 5
【讨论】: