gpt4 book ai didi

matlab - 从一组中随机生成数字?

转载 作者:行者123 更新时间:2023-12-02 08:57:11 25 4
gpt4 key购买 nike

在 MATLAB 中,我有一组 P 数字。我想从这个集合中生成一个大小为 N 的随机数组。

为了举例,假设我有一组 {1, 4}。假设我想生成一个大小为 5 的数组(例如 [1 1 4 1 4])。

我所做的是:我使用randi生成了以下数组。

N = 5;
v = randi([1 4],[1 N]);

问题是我得到了一个随机数组,其中包含 1:4 中的值,而不是 {1, 4} 中的值。我可以简单地做到这一点,但我需要更好的方法。

for i = 1:length(v)
if v(i) ~= 1 || v(i) ~= 4
v(i) = 1; % or v(i) = 4
end
end

我想我在这里缺少一个简单的提示。

最佳答案

您应该使用datasample

y = datasample(data,k) 返回从 data 中的数据中随机均匀采样并进行替换的 k 个观测值。

a = [1,4];
datasample(a,5)

根据用途,您可能会考虑使用,

datasample(unique(a),5)

关于matlab - 从一组中随机生成数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27022711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com