2016年认证杯SPSSPRO杯数学建模D题(第一阶段)NBA是否有必要设立四分线解题全过程文档及程序

本文主要是介绍2016年认证杯SPSSPRO杯数学建模D题(第一阶段)NBA是否有必要设立四分线解题全过程文档及程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2016年认证杯SPSSPRO杯数学建模

D题 NBA是否有必要设立四分线

原题再现

  NBA 联盟从 1946 年成立到今天,一路上经历过无数次规则上的变迁。有顺应民意、皆大欢喜的,比如 1973 年在技术统计中增加了抢断和盖帽数据;有应运而生、力挽狂澜的,比如 1954 年引入 24 秒进攻时限;有因人废事、“打击迫害”的,比如为了限制麦肯,将三秒区宽度从 6 英尺扩大到 12 英尺,又为了限制张伯伦,进一步扩大到 16 英尺;有步步为营、小心翼翼的,比如 2004年在 NBDL 试行所有投篮只算两分,直至第四节最后 5 分钟和加时赛才启用三分球规则;也有弄巧成拙、朝令夕改的,比如 1953 年曾规定每队每名球员单节只能犯规两次,第三次犯规就被罚出场,实施不久之后就不了了之……本质上,NBA 是一个以盈利为目的的商业联赛,为了最大限度地提升比赛观赏性,保证球迷们心甘情愿地掏钱买票,修改现有规则或设立新的规则都是可能的。
  79-80 赛季,NBA 开始实验性的引入三分球制,当时的原则是“仅限于常规赛使用”。而在 80-81 赛季,NBA 正式全面引入三分线。目前,NBA 三分线的最远处距离篮筐是 7.25 米。值得注意的是 NBA 曾在 94-95 赛季将三分线距离缩短为 6.70 米,距离变短后人人都能投三分,很难反映出球员的远投能力,所以 97-98 赛季,NBA 又将三分线距离改回原来的 7.25 米。
  四分线的推出能更全面反映出 1 名射手的远投能力。2015-2016 赛季,在28-32 英尺(8.53-9.75 米)之间,投篮最准的是快船队的贾马尔·克劳福德,总共 23 次出手命中 14 球,命中率高达 60.9%。排在第 2 位的是湖人队的肯道尔·马绍尔,23 投 11 中,命中率为 47.8%。勇士队的斯蒂芬·库里则以 38.1%(21 投 8 中)的命中率位列第 3 位。NBA 一旦引入四分球制度,投手的春天将就此到来。那些震撼联盟的神射手们又多了一项致命的武器。此外,四分球拉开空间之后,会让内线球员的防守压力变得更小,篮下的肉搏变得更少,更有利于内线的大个子们保持自己的健康。  
  第一阶段问题:
  1. 请建立合理的数学模型,量化评估 NBA 是否应该引入四分线。
  2. 如果让你负责设计四分线所在的位置,提出一个较为合理的方案。

整体求解过程概述(摘要)

  本文针对 NBA 是否建立四分线的问题进行了模型研究,以 NBA 盈利效益最大化为目标函数,并运用多种求解方法,对模型进行求解,并得到合理的四分线所在位置方案。
  问题一,对于题中是否引入四分线,我们首先利用数据分析法,发现四分球是衡量一支球队进攻能力强弱的重要指标之一。其次进一步举例阐述 NBA 明显在 28 至 32 英尺地带的投篮情况,数据转化后证明四分球比三分球收益有较大优势,最后利用层次分析法进一步验证引入四分线的必要。
  问题二,为了更准确地确定四分线的位置,我们建立简单的物理模型。在 28-32 英尺(8.53-9.75 米)之间划分为五个距离区间,通过分析不同投篮区间情况下投篮命中率,来预测设立四分线的最佳位置方案。从出手角度,出手速度,出手高度之间的关系等方面综合考虑。建立 XOY 坐标系,求出四分线所在弧线轨迹。
  最后,我们就 MATLAB 拟合曲线及其对应的残差图得出较为合理的四分线的位置,并画图说明。

问题分析:

  现如今,NBA 比赛的走势瞬息万变,球员为了赢得比赛往往会选用分值较高的三分球来扩大或缩小分差。尤其是今年的勇士队,斯蒂芬·库里就是忠实的三分爱好者,你可以经常看到他投出远在接近半场或者球员通道的“三分球”。
  显然,当三分球逐渐成为 NBA 比赛的主流,越来越多的球员愿意在三分线外甚至离三分线还有一段距离就出手,那么是不是应该在比赛中设立四分球规则?熟悉篮球的人会知道,在现在的比赛中,进攻方只会故意拖延时间,而其他球员则只懂站在篮下搏斗,而非尝试去得分。有时候短短一分钟的比赛可以被拉长到十分钟,这令比赛变得乏味。而且,联盟的平均身高也在不断上升,1952 年时球员平均身高为 1.93 米,体重为 195磅。现在,NBA 球员的平均尺寸约 2.01 米,体重为 219 磅。可见现在的球员比引入三分线前更高大、更强壮、更敏捷。
  通过用数值分析法,我们仔细地研究了 NBA 近十年五支球队(图 1)三分命中率发现,实力各不相同的球队三分球命中率变化幅度不大,这样就无法显示出球队的远投能力。
  设立四分线的目的很纯粹,就是让球员更好地发挥他们的天赋,并且增加球赛的观赏性,使 NBA 的总盈利达到最大化。

模型假设:

  1.假设远投手不受非比赛因素的影响。
  2.假设投手的体能投三分和投四分基本无变化。
  3.假设投手不受投篮姿势的影响。

论文缩略图:

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

1.分析法当中的求解矩阵特征(MATLAB 程序)
>>clear all;
A=[1 7 2 3;1/7 1 2/5 1/2;1/2 5/2 1 3/7;1/3 2 7/3 1];
d=eig(A)
d=
0.8333+2.4438i
0.8333-2.4438i
>>[V,D]=eig(A)
2. v 为最小出手速度,MATLAB 求解,代码如下:
function v=fun(h);
H=3.05;
g=9.8;
L=8.53
v=sqrt(g*[H-h+sqrt(L^2+(H-h)^2)]);
fun(2.0)
ans =
9.722
fun(2.1)
ans =
9.665
fun(2.2)
ans =
9.609
3. 对不同的出手速度和出手高度的出手角度和入射角度,MATLAB 求解,代码如下:
function f=fun1(v);
L=8.53;
H=3.05;
g=9.8;
h=1.8;
t=v^2/(g*L)*(1+sqrt(1-2*g/v^2*(H-h+g*L^2/(2*v^2))));
f=atan(t)/pi*180;
fun1(8.0)
ans =
40.566
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

这篇关于2016年认证杯SPSSPRO杯数学建模D题(第一阶段)NBA是否有必要设立四分线解题全过程文档及程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838571

相关文章

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被