如何在 MATLAB 中随机选取矩阵每一列中的元素?

Nam*_*ame 3 random matlab

问题标题解释了我想要什么。例如,如果特定列中有 6 个元素,我如何从该列中随机选取 1 个元素。如果可能的话,请保持简单。

谢谢您的帮助。

Sha*_*hai 5

假设您有一个A大小为m×的矩阵n。您希望从每一列中n随机选择一个元素:

>> rows = randsample( m, n ); % sample n times from integers 1:m
Run Code Online (Sandbox Code Playgroud)

现在rowsn值,每个值代表相应列中的一个随机条目。
访问这些值

>> sampledValues = A( sub2ind( size(A), rows, 1:n ) ); 
Run Code Online (Sandbox Code Playgroud)

randsample有关更多信息,请参阅和上的文档sub2ind