qq_57078053 2024-04-02 14:19 采纳率: 25%
浏览 28
已结题

MATLAB求解组合问题

matlab从一个数组[1,2,3,4,5,6,7,8,9,10,11]中一共选取t个元素,分n次选完,i=1:n。在第i次选取时,选取k(i)个元素。在第i+1次选取时,在剩下的未选取的元素之中选取k(i+1)个值,以此类推。然后将从选取数组中选取的元素按选取顺序组成一个新的数组,遍历所有可能性

img

  • 写回答

25条回答 默认 最新

  • Seal^_^ 云原生领域优质创作者 2024-04-03 09:22
    关注
    获得0.30元问题酬金
    
    function combinations = generate_combinations(arr, t, n, k)
        combinations = cell(1, n);
        generate_combinations_recursive(arr, t, n, k, 1, [], combinations);
    end
    
    function generate_combinations_recursive(arr, t, n, k, i, current_combination, combinations)
        if i > n
            combinations{end} = [combinations{end}; current_combination];
            return;
        end
        
        for j = 1:t-k(i)+1
            new_combination = [current_combination, arr(j)];
            generate_combinations_recursive(arr(j+1:end), t-k(i), n, k, i+1, new_combination, combinations);
        end
    end
    
    

    在 MATLAB 中调用这个函数并传入相应的参数,如下所示:

    arr = [1,2,3,4,5,6,7,8,9,10,11];
    t = 5; % 选取的元素个数
    n = 3; % 分次选取的次数
    k = [2, 3]; % 每次选取的元素个数
    
    combinations = generate_combinations(arr, t, n, k);
    
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 修改了问题 4月2日
  • 修改了问题 4月2日
  • 创建了问题 4月2日

悬赏问题

  • ¥15 欧拉系统opt目录空间使用100%
  • ¥15 ul做导航栏格式不对怎么改?
  • ¥20 用户端如何上传图片到服务器和数据库里
  • ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
  • ¥30 vivado封装时总是显示缺少一个dcp文件
  • ¥100 pxe uefi启动 tinycore
  • ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
  • ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
  • ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
  • ¥15 疾病的获得与年龄是否有关