从矩阵生成10个数字

1次查看(最近30天)
Ashante伊莎贝拉好
Ashante伊莎贝拉好 2021年9月23日
假设我有一个矩阵v1,我如何能够在现有矩阵中随机生成10个数字?
2的评论
Ashante伊莎贝拉好
Ashante伊莎贝拉好 2021年9月27日
是的,第一个问题,所有不同的位置,只是10个数字,不需要是向量

登录评论。

接受的答案

图像分析
图像分析 2021年9月23日
从随机位置生成数字,而不重复任何您需要的位置 使用randperm () ,而不是像其他答案一样的randi()。使用randi()可能会允许相同的位置被多次使用。因此,根据需要使用randperm()或randi()。
%生成样本矩阵——一个7行× 9列的矩阵。
M = randi(100, 7, 9)
%得到10个随机线性索引,没有位置是重复的:
randomIndexes = randperm(numel(m), 10)
%在随机位置提取数据:
extractedNumbers = m (randomIndexes)

答案(1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021年9月23日
基于你所陈述的,以下可能是你想要获得的:
V1 = randi(10,5,5)%#ok %是已经存在的矩阵
v1 = 5×5
2 5 2 1 10 7 5 3 1 6 10 4 4 1 9 2 6 5 3 1 8 5 2 10 2
IDX = randi([1,10], 1,10);%从现有矩阵中随机选择索引
R = v1 (IDX)%从v1中随机抽取10个数字
R = 1×10
4 5 5 10 8 8 8 8 5 2 8

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!

翻译的