人在仿真软件金宝app

金宝app仿真软件和基于模型的设计

模拟在2016年棒球赛季

几个星期前,马特,科里我有一个讨论的兴起棒球数据统计分析法和运动分析。4月3日与棒球赛季开幕,我们决定应用MATLAB和Simulink的力量来预言事情会有什么样的结果。金宝app

这就是我们提出:

  • 获得本赛季过去棒球统计数据和推断。
  • 实现仿真模型和SimEvents的棒球比赛金宝app
  • 运行的蒙特卡罗模拟游戏的2016赛季

预测分析

过去的三个赛季我们加载肖恩Lahman棒球统计数据的归档在MATLAB使用数据库工具箱

通过这些数据,我们为玩家构建概率性能在2016年考虑以下因素:

  • 球员年龄:我们根据年龄调整球员表现的预期使用分析从棒球招股说明书。我们允许随机偏离这弧基于我们称为Ortiz因素
  • 耐用性:我们也计算基于耐久性指数在前几季的球员的比赛。这是用于项目损伤。我们称之为布赫兹因子。
  • 合同状态:球员经常在峰值时执行合同即将更新,看看生产在收到一个新的下降利润丰厚的合同。我们称之为桑多瓦尔的因素。
  • 模拟SimEvents棒球比赛

    当思考所有的产品模型的家庭,一个看起来合适的模拟一个棒球下载188bet金宝搏比赛金宝appSimEvents。在R2016a,整个SimEvents块库是新的,所以我认为这对我来说是一个很好的机会去熟悉它,并强调它能做什么。

    这就是顶级模特的样子:

    顶级模特

    首先,我们使用实体发电机块生成球员实体。在物体的事件动作选项卡,我们调用MATLAB代码和仿真软件功能设置玩家的属性的实体。金宝app在MATLAB函数initPlayer我们管理每个团队的名单,包括一些变化在球员在比赛中更换。

    一代球员实体

    然后经过一个离散事件Stateflow图表。在图表中,我们使用球员的属性的实体,一个随机数来确定上场打击的结果。使用向前函数,球员实体是转发到一垒,或者回到板凳上。

    板的逻辑

    每个基本建模使用实体服务器块。在服务器的输出,我们一个地方实体门块。我们实现一些逻辑,再次基于球员统计和随机数来确定如果/当玩家试图走向下一个基地。使用一个输出开关块和一些额外的基于球员数据随机性,我们要么玩家下一个基地或提前收集它们了。

    注意到{…}在服务器上。这意味着块定义了事件动作。在这种情况下,当球员实体服务,模型函数执行决定,如果球员呆在基地,移金宝app动到下一个基地,还是出去了。在服务器事件动作触发的逻辑计算确保它被执行在适当的时候,与其他SimEvents同步网络。

    基地的逻辑

    下游,我们收集所有的退役球员在服务器的能力3。当服务器已满,我们冲空基地,移动到下一个准会员。

    局管理

    做,我们只需要使用实体的数量到达实体终端数统计的球员能够让它到本垒跑。

    数分

    本赛季

    棒球在30支球队的常规赛162场比赛。我们想要运行一个与1000年蒙特卡洛模拟迭代得到的概率分布结果,所以我们必须几乎近260万棒球游戏。我们应用并行计算这一挑战,能够在较短的时间内完成这些游戏比典型的“带我到球赛”。

    模拟一场比赛中,我创建了一个函数,它看起来像:

    模拟一场比赛

    然后变得非常容易在parfor循环调用这个函数来模拟整个赛季使用尽可能多的处理能力:

    模拟季节

    利用快速启动功能,可以模拟整个赛季只有几秒钟。

    结果

    这是我们预计的结果相比,全国联赛冠军的拉斯维加斯几率:

    赛季数据1

    美国联赛,我们开始出发从制造商可能性的预测:

    赛季数据2

    肯定是一个奇怪的统计异常,宝宝没有赢得世界大赛1000年的模拟,虽然赢得了全国34%的时间。

    季节刺青3

    在这一点上,我问马特和科里尝试一件事。我们都知道,在1994年,蒙特利尔博览会队踢的非常好,许多人预计他们球队在季后赛中击败。但不幸的是世界大赛由劳动冲突被取消了。所以,我们在虚拟的季节给了世博会一次机会取代华盛顿国民队与世博会的94名单。结果是惊人的。

    统计4季

    现在轮到你了

    你可能看看今天的日期,认为这都是一个笑话。但有一点是肯定的,你会愚蠢的低估费利佩•阿劳的球队从1994年……和新SimEvents R2016a的力量!

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。