当前位置: 首页 > news >正文

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是否有必要设立四分线解题全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 D题 NBA是否有必要设立四分线 原题再现 NBA 联盟从 1946 年成立到今天,一路上经历过无数次规则上的变迁。有顺应民意、皆大欢喜的,比如 1973 年在技术统计中增加了抢断和盖帽数据;有应运而生、力挽狂澜的&am…...

EdgeGallery开发指南

API接口 简介 EdgeGallery支持第三方业务系统通过北向接口网关调用EdgeGallery的业务接口。调用流程如下图所示(融合前端edgegallery-fe包含融合前端界面以及北向接口网关功能,通过浏览器访问时打开的是融合前端的界面,通过IP:Port/urlPref…...

ubuntu arm qt 读取execl xls表格数据

一,ubuntu linux pc编译读取xls的库 1,安装libxls(读取xls文件 电脑版) 确保你已经安装了基本的编译工具,如gcc和make。如果没有安装,可以使用以下命令安装: sudo apt-update sudo apt-get install build-essentia…...

STM32 使用gcc编译介绍

文章目录 前言1. keil5下的默认编译工具链用的是哪个2. Arm编译工具链和GCC编译工具链有什么区别吗?3. Gcc交叉编译工具链的命名规范4. 怎么下载gcc-arm编译工具链参考资料 前言 我们在STM32上进行开发时,一般都是基于Keil5进行编译下载,Kei…...

FPGA之组合逻辑与时序逻辑

数字逻辑电路根据逻辑功能的不同,可以分成两大类:组合逻辑电路和时序逻辑电路,这两种电路结构是FPGA编程常用到的,掌握这两种电路结构是学习FPGA的基本要求。 1.组合逻辑电路 组合逻辑电路概念:任意时刻的输出仅仅取决…...

git clone没有权限的解决方法

一般情况 git clone时没有权限,一般是因为在代码库平台上没有配置本地电脑的id_rsa.pub 只要配置上,一般就可以正常下载了。 非一般情况 但是也有即使配置了id_rsa.pub后,仍然无法clone代码的情况。如下 原因 这种情况是因为ssh客户端…...

Redis 的内存回收策略

Redis的内存回收策略用于处理过期数据和内存溢出情况,确保系统稳定性和性能。作为一个高性能的键值存储系统,它通过内存回收策略来维护内存的高效使用 主要包括过期删除策略和内存淘汰策略。 过期删除策略: Redis的过期删除策略是通过设置…...

小程序富文本图片宽度自适应

解决这个问题 创建一个util.js文件,图片的最大宽度设置为100%就行了 function formatRichText(html) {let newContent html.replace(/\<img/gi, <img style"max-width:100%;height:auto;display:block;");return newContent; }module.exports {formatRichT…...

安装redis时候修改过的配置文件

只要是石头&#xff0c;到哪里都不会发光的 bind 绑定主机某个网卡对应的IP地址&#xff0c;如果某个主机有两个网卡A和B&#xff0c;那么绑定了A&#xff0c;通过B连接就会无法访问protected-mode 保护模式 Yes为只能本地访问port 启动的端口号pidfile pid存放的位置&#xff…...

Stable Diffusion 本地部署教程

Stable Diffusion是一种用于构建和部署机器学习模型的开源工具。以下是在本地环境中部署 Stable Diffusion 的基本步骤: 步骤 1: 准备环境 确保你的系统中已经安装了以下软件和工具: Python(建议使用 Python 3.x)pip(Python 包管理工具)Docker(可选,用于容器化部署)…...

sql如何增加数据

在MySQL中增加数据主要是通过INSERT INTO SQL语句来实现的。以下是对插入语句的详细介绍以及举例说明&#xff1a; 1、插入语句的基本格式&#xff1a; 1INSERT INTO table_name (column1, column2, ..., columnN) 2VALUES (value1, value2, ..., valueN); table_name&#x…...

智慧交通(代码实现案例)

1.项目简介 目标: 了解智慧交通项目的架构知道智慧交通项目中的模块能够完成智慧交通项目的环境搭建 该项目是智慧交通项目&#xff0c;通过该项目掌握计算机视觉的方法在交通领域的相关应用&#xff0c;包括车道线检测的方法&#xff0c;多目标车辆追踪及流量统计方法&#…...

LeetCode 面试经典150题 205.同构字符串

题目&#xff1a; 给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符的顺序。不同字符不能映射到同一个字…...

存内计算:释放潜能的黑科技

什么是存内计算&#xff1f; 存内计算技术是一种新型的计算架构&#xff0c;它将存储器和计算单元融合在一起&#xff0c;以实现高效的数据处理。存内计算技术的优势在于能够消除数据搬运的延迟和功耗&#xff0c;从而提高计算效率和能效比。目前&#xff0c;存内计算技术正处…...

CentOS Stream 8系统配置阿里云YUM源

Linux运维工具-ywtool 目录 一.系统环境二.修改yum文件2.1 CentOS-Stream-AppStream.repo2.2 CentOS-Stream-BaseOS.repo2.3 CentOS-Stream-Extras.repo 三.只有一个配置文件四.其他知识4.1 如果想要启用其他源,修改文件配置:enabled14.2 国内源链接 一.系统环境 CentOS Strea…...

MySQL Explain 优化参数详细介绍

Explain 是什么? Explain命令用于分析SQL查询的执行计划&#xff0c;帮助优化查询语句和索引选择。 Explain是MySQL提供的一个非常有用的工具&#xff0c;它能够帮助数据库管理员和开发者理解SQL查询是如何被数据库执行的。通过在SELECT语句前加上EXPLAIN关键字&#xff0c;…...

代码随想录Day58:每日温度、下一个更大元素 I

每日温度 class Solution { public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int> st;vector<int> result(temperatures.size(), 0);for(int i 0; i < temperatures.size(); i){while(!st.empty() && tempe…...

冒泡排序 快速排序 归并排序 其他排序

书接上回.. 目录 2.3 交换排序 2.3.1冒泡排序 2.3.2 快速排序 快速排序的优化: 快速排序非递归 2.4 归并排序 基本思想 归并排序非递归 海量数据的排序问题 排序算法时间空间复杂度和稳定性总结 四. 其他非基于比较排序 (了解) 2.3 交换排序 基本思想&#xff1a;…...

阿里云服务器安装MySQL(宝塔面板)

只写关键步骤 1. 创建一个云服务器实例 2 修改密码&#xff0c;登录服务器 3. 安装宝塔面板 进入https://www.bt.cn/new/index.html 进入宝塔面板地址 4. 安装Mysql 5. 创建数据库&#xff08;可导入数据库&#xff09; 6. 测试连接数据库 打开Navicat&#xff08;或其他数据…...

设计模式|发布-订阅模式(Publish-Subscribe Pattern)

文章目录 初识发布-订阅模式发布-订阅模式的关键概念发布订阅模式的优缺点示例代码&#xff08;使用 Java 实现&#xff09;有哪些知名框架使用了发布-订阅模式常见面试题 初识发布-订阅模式 发布-订阅模式&#xff08;Publish-Subscribe Pattern&#xff09;是一种软件架构设…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...