用MATLAB模拟欧冠16强抽签:预测利物浦和大巴黎的对手

编辑:  来源:JRS直播  2025-01-24 21:43:41

碰巧的是欧冠十六强对阵,冠军联赛小组赛今天结束欧冠十六强对阵,前16名。在抽奖结果出来之前,我们将模拟抽签,以查看哪个小组将首先遇到利物浦和巴黎圣日耳曼。

谈话很便宜,:

1。首先,将每个团队的名称存储在单元格数中:

% 小组第一
group1={'  那不勒斯    ','  波尔图      ','  拜仁慕尼黑  ','  托特纳姆热刺','  切尔西      ','  皇家马德里  ','  曼城        ','  本菲卡      '};
% 小组第二
group2={'  利物浦      ','  布鲁日      ','  国际米兰    ','  法兰克福    ','  AC米兰      ','  RB莱比锡    ','  多特蒙德    ','  巴黎圣日耳曼'};

2。前16名具有避免相同关联和同一组的原则,因此有必要确定哪些团队在抽奖中不满足,并且还使用单元格数组来存储:

% 抽签不会相遇的球队
ban={[1,3,5],[2],[3,4,6,7],[1,4],[1,5],[6],[1,7],[8]};

3。然后,您可以开始绘制很多。该代码使用整个动态图,该图仍具有仪式感。

首先发布完整的代码:

clear
clc
close all
% 小组第一
group1={'  那不勒斯    ','  波尔图      ','  拜仁慕尼黑  ','  托特纳姆热刺','  切尔西      ','  皇家马德里  ','  曼城        ','  本菲卡      '};
% 小组第二
group2={'  利物浦      ','  布鲁日      ','  国际米兰    ','  法兰克福    ','  AC米兰      ','  RB莱比锡    ','  多特蒙德    ','  巴黎圣日耳曼'};
% 抽签不会相遇的球队
ban={[1,3,5],[2],[3,4,6,7],[1,4],[1,5],[6],[1,7],[8]};
% 生成随机数
sequence1=randperm(8);
sequence2=zeros(1,8);
group2_num=1:8;
% 进行抽签并输出结果
figure
hold on
axis([0 10 0 10])
axis off
text(3.5,10,'欧冠16强对阵','FontSize',14)
k=1;
while k<=8
    index=0;
    while sequence2(k)==0
        kk=randi([1,length(group2_num)]);
        if sum(find(ban{sequence1(k)}==group2_num(kk)))
            if index>40
                k=1;
                close all
                sequence1=randperm(8);
                figure
                hold on
                axis([0 10 0 10])
                axis off
                text(3.5,10,'欧冠16强对阵','FontSize',14)
                break
            end
            index=index+1;
            continue
        else
            sequence2(k)=group2_num(kk);
            group2_num(kk)=[];
        end
    end
    text(1.5,10-k,[group1{sequence1(k)}],'FontSize',14)
    text(4.5,10-k,'对阵','FontSize',14)
    pause(0.5);
    text(5.5,10-k,[group2{sequence2(k)}],'FontSize',14)
    pause(0.5);
    k=k+1;
end

彩票部分的代码逻辑非常简单:首先,使用小组中第一支队伍的随机安排,然后在小组中绘制第二个团队。如果被取出的团队遇到避免原则,请将其放回原处,然后依次将8次绘制。直到确定所有对决为止。但是,这仍然存在问题欧冠十六强对阵,因为我正在使用随机数。根据这种方法,无论如何,最后几支球队可能无法满足回避原则,并且它将属于无限循环。应该有很多方法来解决这个问题。我使用了最愚蠢的一个(实际上我太懒了,无法考虑):如果循环结束,只需再次绘制即可。

最后,使用动画显示彩票过程:

我不知道当时间到来时,我的随机抽奖将匹配多少。

  • 上一条:意甲第21轮焦点战:那不勒斯逆转亚特兰大,K77转会引发孔蒂看法
  • 下一条:皇马历史上的巅峰11人:C罗领衔,回顾皇马传奇球星阵容
  • 相关文章