【问题标题】:how to randomly select n numbers from a column of matrix in octave如何从八度音阶矩阵的列中随机选择n个数字
【发布时间】:2014-12-25 03:39:14
【问题描述】:

我正在编写一个粒子群优化程序,为此我想初始化我的粒子。我希望我的粒子从我正在应用群优化的列中随机初始化。 我正在用 Octave 做这个程序。我尝试查找相关命令,但找不到一个。我想要矩阵形式的答案。
感谢您的帮助。
防爆

733
590
495
479
569
560
305
433
319
244
256
255
398
340


从此我想要 5 个数字,例如
305 590 495 244 340
感谢您的帮助。

【问题讨论】:

    标签: matlab random octave particle-swarm


    【解决方案1】:
    X = magic(10);
    
    % pick k random numbers for column n:
    
    k = 4;
    n = 3;
    X(randi(size(X,1), k, 1), n)
    

    【讨论】:

    • 非常感谢@Dan,是的,我的解决方案没有给出正确答案,因此我删除了它
    • 只是想注意它不一定会选择所有不同的数字。 @SarasArya 如果两个粒子在同一个位置初始化会不会有问题?
    • @DennisJaheruddin 正确,在这种情况下,请使用 randperm
    • @SarasArya 检查randsample,它涵盖了两个选项:有和没有替换
    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 2013-10-25
    • 2012-02-23
    • 2021-09-16
    相关资源
    最近更新 更多