MATLAB中生成一定范围内的随机数

发布于 2024-10-19 04:01:27 字数 37 浏览 2 评论 0原文

如何在 MATLAB 中生成 13 到 20 之间的随机数?

How can I generate a random number in MATLAB between 13 and 20?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

帅气尐潴 2024-10-26 04:01:27

如果您正在寻找均匀分布的伪随机整数,请使用:

randi([13, 20])

If you are looking for Uniformly distributed pseudorandom integers use:

randi([13, 20])
痴者 2024-10-26 04:01:27
r = 13 + 7.*rand(100,1);

其中 100,1 是所需向量的大小

r = 13 + 7.*rand(100,1);

Where 100,1 is the size of the desidered vector

掩耳倾听 2024-10-26 04:01:27

ocw.mit.edu 是一个很棒的资源,对我帮助很大。 randi 是最好的选择,但如果您对数字感兴趣,请尝试使用带有 rand 的下限函数来获得您想要的。

我画了一条数轴并得出

floor(rand*8) + 13

ocw.mit.edu is a great resource that has helped me a bunch. randi is the best option, but if your into number fun try using the floor function with rand to get what you want.

I drew a number line and came up with

floor(rand*8) + 13
美人如玉 2024-10-26 04:01:27

您还可以使用:

round(mod(rand.*max,max-1))+min

You can also use:

round(mod(rand.*max,max-1))+min
难理解 2024-10-26 04:01:27

从均匀分布生成值
区间[a,b]。

      r = a + (b-a).*rand(100,1);

Generate values from the uniform distribution on the
interval [a, b].

      r = a + (b-a).*rand(100,1);
静待花开 2024-10-26 04:01:27

最佳解决方案是 randint ,但此函数会生成整数。

您可以将 rand 与舍入函数一起使用,

  r = round(a + (b-a).*rand(m,n));

这会产生 a 和 b 之间的实数随机数,输出矩阵的大小为 m*n

Best solution is randint , but this function produce integer numbers.

You can use rand with rounding function

  r = round(a + (b-a).*rand(m,n));

This produces Real random number between a and b , size of output matrix is m*n

塔塔猫 2024-10-26 04:01:27

如果您希望随机生成特定范围内的所有数字,那么您可以尝试

r = randi([a b],1,d)

a = 起点

b = 终点

d = 如何您想要生成许多数字,但请记住 d 应小于或等于 ba

if you are looking to generate all the number within a specific rang randomly then you can try

r = randi([a b],1,d)

a = start point

b = end point

d = how many number you want to generate but keep in mind that d should be less than or equal to b-a

很酷又爱笑 2024-10-26 04:01:27

如果您需要 13 到 20 之间的浮动随机数

(20-13).*rand(1) + 13

如果您需要 13 到 20 之间的整数随机数

floor((21-13).*rand(1) + 13)

注意:通过用 21 替换 20 来修复注释“这不包括 20”中提到的问题

If you need a floating random number between 13 and 20

(20-13).*rand(1) + 13

If you need an integer random number between 13 and 20

floor((21-13).*rand(1) + 13)

Note: Fix problem mentioned in comment "This excludes 20" by replacing 20 with 21

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文