首页 > 解决方案 > 从matlab中确定的范围中选择的整数的随机向量

问题描述

如何创建具有从确定范围中提取的特定值的向量?只要它们随机发生,重复就会受到欢迎。

例如一个包含 5 个值的向量,所有这些值都是 1 到 80 之间的整数

ps 我正在使用 2019 版的 Matlab

标签: matlab

解决方案


您可以使用rand功能;rand给出 0 到 1 之间的随机值,但对于范围,您可以使用以下公式。

lowest_val = -10
range = 20 % [-10, 10]
rand_vec = lowest_val + (range)*rand(10,1) % here the range is [-10, 10]

(20)*rand(10,1)将给出一个介于 0 和 20 之间的随机值,将 -10 添加到其中,范围变为 -10 到 10。

对于您的情况,您可以使用

lowest_val = 1
range = 79 % [1, 80]
rand_vec = lowest_val + (range)*rand(10,1)

(80)*rand(10,1)将给出一个 0 到 79 之间的随机值,加 1,范围变为 1 到 80

randperm如果你不想重复,你可以使用。


推荐阅读