2014年国赛高教杯数学建模B题创意平板折叠桌解题全过程文档及程序
2014年国赛高教杯数学建模
B题 创意平板折叠桌
某公司生产一种可折叠的桌子,桌面呈圆形,桌腿随着铰链的活动可以平摊成一张平板(如图1-2所示)。桌腿由若干根木条组成,分成两组,每组各用一根钢筋将木条连接,钢筋两端分别固定在桌腿各组最外侧的两根木条上,并且沿木条有空槽以保证滑动的自由度(见图3)。桌子外形由直纹曲面构成,造型美观。附件视频展示了折叠桌的动态变化过程。
试建立数学模型讨论下列问题:
1. 给定长方形平板尺寸为120 cm × 50 cm × 3 cm,每根木条宽2.5 cm,连接桌腿木条的钢筋固定在桌腿最外侧木条的中心位置,折叠后桌子的高度为53 cm。试建立模型描述此折叠桌的动态变化过程,在此基础上给出此折叠桌的设计加工参数(例如,桌腿木条开槽的长度等)和桌脚边缘线(图4中红色曲线)的数学描述。
2. 折叠桌的设计应做到产品稳固性好、加工方便、用材最少。对于任意给定的折叠桌高度和圆形桌面直径的设计要求,讨论长方形平板材料和折叠桌的最优设计加工参数,例如,平板尺寸、钢筋位置、开槽长度等。对于桌高70 cm,桌面直径80 cm的情形,确定最优设计加工参数。
3. 公司计划开发一种折叠桌设计软件,根据客户任意设定的折叠桌高度、桌面边缘线的形状大小和桌脚边缘线的大致形状,给出所需平板材料的形状尺寸和切实可行的最优设计加工参数,使得生产的折叠桌尽可能接近客户所期望的形状。你们团队的任务是帮助给出这一软件设计的数学模型,并根据所建立的模型给出几个你们自己设计的创意平板折叠桌。要求给出相应的设计加工参数,画出至少8张动态变化过程的示意图。


整体求解过程概述(摘要)
本文主要讨论了平板折叠桌的动态变化过程及最优加工参数的设计问题。 在问题一中,本文将折叠桌的动态变化过程简化为杆件的定轴转动,先利用空间解析几何与平面几何的知识计算出各桌脚的长度及开槽深度,从而计算出各桌脚的位置与高度的函数关系来描述了折叠桌的动态变化过程,并使用MATLAB画出三维动态图形,进一步直观地展示了其动态变化过程。最后据构建的模型给出了最优加工参数,并用参数方程的形式描述了理想的桌脚边缘线,且与实际桌脚边缘的连线进行了对比。
在问题二中,本文从结构的稳固性、节省材料和加工方便几个角度出发,考虑了几何约束、运动约束、静力学平衡约束,而从建立了一个关于重心位置与材料用量的多目标优化模型(MOP)。此模型为非线性规划模型,在求解时,本文利用MATLAB采用图像法确定模型的可行域,而从得出木板尺寸与钢筋位置最佳选择。对于题目中桌高70cm、桌面直径80cm的情形,文中给出了最优加工参数,板长为170cm,钢筋位于最外侧木条上距桌面中心线53cm处,各桌腿长度及其滑槽长度见文中表格。
在问题三中,首先根据客户给出的桌面边缘线和桌脚边缘线对应点之间的距离作为桌腿木条的长度,然后根据问题一中计算出的运动约束关系计算出实际桌脚边缘的坐标,计算出实际桌脚边缘线与客户提供的桌脚边缘线之间距离的平方和作为目标函数,得到使其取最小值的钢筋位置,验证问题二中约束条件,进而计算出其他设计参数。最后,本文设计出了两种创意平板折叠桌,并给出了相应的加工参数及动态变化过程示意图。
模型假设:
1.木板匀质,密度为常数且厚度均匀;
2.忽略钢筋与滑槽的摩擦力,及相邻桌腿之间的摩擦力
3.剪裁时忽略桌腿木条之间的剪裁缝隙,且每条桌腿等宽;
4.各桌腿都在相互平行的平面内做圆周运动,;
5.设计时所用平板材料的厚度不变,为3cm。
问题分析:
问题一
对于问题一,在考虑长方形平板材料尺寸、折叠后桌子高度要求和桌腿木条与钢筋的运动约束条件等目标要求的情况下,主要解决三个问题:描述折叠桌动态变化过程、给出折叠桌设计加工参数、给出桌脚边缘线的数学描述。 首先假设桌面圆形的直径为 50cm,根据长方形平板尺寸及木条宽度确定剪裁方案。根据钢筋固定在桌腿最外侧木条的中心位置和运动过程中的几何关系,可以计算出钢筋在每根桌腿木条中的初始位置和最终位置,两者作差即可求出每根桌腿木条所需要的的开槽长度,结合剪裁方案,给出设计加工参数。 由于每组桌腿中的钢筋固定在最外侧的两根木条上,且钢筋在每组桌腿木条的空槽中自由滑动,故每组中最外侧的两条桌腿木条的运动状态决定了本组中间所有桌腿木条的运动状态。首先建立空间直角坐标系,用木条边缘点的坐标(由于桌腿木条有一定宽度和厚度,故取边缘截面中心点为边缘点)描述桌腿木条的运动状态,根据运动过程中的几何关系,通过数学计算得出每条桌腿木条边缘点的坐标随最外侧桌腿木条边缘点高度变化的函数关系。再由此计算出运动过程中每条桌腿木条的倾斜角度、距桌面的高度及钢筋在滑槽中的位置等参数,并用matlab 画三维图仿真,给出动态过程的中间步骤图,结合以上参数共同描述折叠桌的动态变化过程。 利用前面求出的桌腿木条边缘点的坐标随最外侧桌腿木条边缘点高度变化的函数关系,可以求出折叠后各桌腿木条边缘点的坐标,列表或画成散点图描述桌脚边缘线;另外可以令桌腿木条宽度趋于零,使桌脚边缘线变成连续曲线,进而求出解析表达式,近似描述真实的桌脚边缘线。
问题二
对于给定折叠桌高度h和桌面直径2R,我们主要从结构的稳固性和节省材料、及加工方便几个角度考虑来给出其优化设计方案。我们需要设计的有平板尺寸、钢筋的位置、开槽深度,其中开槽深度可以由前两者及运动过程决定。 (1)对于稳固性,我们主要从三方面考虑,一方面,我们以桌子的重心来衡量其稳定性,重心的相对位置越低,其稳定性越强;另一方面,我通过选取合理的桌脚截面来增加其抗压及抗弯矩的强度 [1] ;另外,我们保证四条桌腿的倾角在其摩擦角的范围内。 (2)对于材料用量,我们在保证一定稳固性和运动约束的前提下,尽量让用料最少,即木板体积尽可能小。 (3)对于加工方便,我们认为桌腿的数量不宜过多,过多会导致桌腿间距变小,一方面结构的强度难以保证,另一方面加工难度变大。 这样,我们可以建立关于设计的一个优化模型
问题三
首先根据桌面边缘线和桌脚边缘线对应点之间的距离计算出桌腿木条的长度,再根据前面计算出的运动约束关系计算出实际桌脚边缘的坐标,计算出实际桌脚边缘线与客户提供的桌脚边缘线之间距离的平方和作为目标函数,得到使其取最小值的钢筋位置,进而计算出其他设计参数。
模型的建立与求解整体论文缩略图

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:
for i=1:10m=sqrt(1/4*l(1)^2+(l(1)-l(i))^2-sqrt(l(1)^2-h^2)*(l(1)-l(i)));x(i)=26.25-2.5*i;y(i)=(0.5*sqrt(l(1)^2-h^2)-(l(1)-l(i)))*l(i)/m+l(1)-l(i);z(i)=0.5*h*l(i)/m;
endfor i=1:11x(i)=27.5-2.5*i;y(i)=(p*sqrt(l(1)^2-h^2)-y1(i))*l(i)/(sqrt(p^2*l(1)^2+y1(i)^2-2*p*sqrt(l(1)^2-h^2)*y1(i)))+y1(i);z(i)=p*h*l(i)/(sqrt(p^2*l(1)^2+y1(i)^2-2*p*sqrt(l(1)^2-h^2)*y1(i)));
end
x1=0:0.5:25;
for i=1:length(x1)if x1(i)<15y1(i)=30;elsey1(i)=75-3*x1(i);end
end
for i=1:length(x1)z1(i)=0;
end
x2=x1;
y2=40-sqrt(625-x2.^2);
z2=y2+20;h=60;tixing;plot3(x2,-y2,-z2,x2,y2,-z2,-x2,-y2,-z2,-x2,-y2,-z2);plot3(x,-y,-z,'r*',x,y,-z,'r*',-x,-y,-z,'r*',-x,y,-z,'r*');hold on;plot3(x1,-y1,-z1,-x1,-y1,-z1,x1,y1,-z1,-x1,y1,-z1);hold on;for i=1:length(x)plot3([x(i),x(i)],[-b(x(i)),-y(i)],[0,-z(i)]);hold on;plot3([-x(i),-x(i)],[-b(x(i)),-y(i)],[0,-z(i)]);hold on;plot3([x(i),x(i)],[b(x(i)),y(i)],[0,-z(i)]);hold on;plot3([-x(i),-x(i)],[b(x(i)),y(i)],[0,-z(i)]);hold on;endplot3([25,-25],[-y(1)*p,-y(1)*p],[-z(1)*p,-z(1)*p],'k');hold on;plot3([25,-25],[y(1)*p,y(1)*p],[-z(1)*p,-z(1)*p],'k');hold on;axis equal;figure;
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:
2014年国赛高教杯数学建模B题创意平板折叠桌解题全过程文档及程序
2014年国赛高教杯数学建模 B题 创意平板折叠桌 某公司生产一种可折叠的桌子,桌面呈圆形,桌腿随着铰链的活动可以平摊成一张平板(如图1-2所示)。桌腿由若干根木条组成,分成两组,每组各用一根钢筋将木条连接…...
PyCharm打开及配置现有工程(详细图解)
本文详细介绍了如何利用Pycharm打开一个现有的工程,其中包括编译器的配置。 PyCharm打开及配置现有工程 1、打开工程2、配置编译器 1、打开工程 双击PyCharm软件,点击左上角 文件 >> 打开(O)… 选中想要打开的项目之后点击“确定” 2、配置编译器…...
CSP-J
CSP那些事儿 OI赛制是啥OI赛制下的CCF-CSPCSP简介CSP-J考试(仅山东)考试时间考试地点考试结构 写在最后有趣的代码: OI赛制是啥 OI赛制,不详细说了,就是一股脑做好几个题,一起提交的比赛(通俗易…...
Linux系统:Linux中ln命令用法
ln命令功能 将一个文件或目录在同一个文件系统或者另一个不同的文件系统的某个位置建立一个链接,类似windows系统中的超链接,这样当我们在链接处访问被链接的目录或文件时就可以通过此链接来访问,不必要再进入要访问的文件系统中。 建立链接…...
在SpringBoot+VUE中 实现登录-RSA的加密解密
步骤-先理清楚在动手 前端首先调用后端的公钥接口,在前端加密密码传输至后端登录接口后端用私钥解密码拿着用户名去数据库查询出来的盐值加密的 密码1用私钥解密密码登录密码加盐值得到 密码2比较密码1与密码2,相同则登录成功,跳转首页|其他页面 前端实…...
基于Android11简单分析audio_policy_configuration.xml
开篇先贴上一个高通的例子,后续基于此文件做具体分析。 1 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> 2 <!-- Copyright (c) 2016-2019, The Linux Foundation. All rights reserved 3 Not a Contribut…...
kafka-manager修改zookeeper端口号后启动仍然连接2181端口
问题描述: zookeeper默认端口号修改为了2182,kafka-manager的配置文件application.conf中也已经修改了zkhosts为新的端口号,然而启动kafka-manger时报错连接连接超时,发现连接的还是2181端口,很奇怪?&…...
RabbitMQ 入门(三)SpringAMQP
一、Spring AMQP 简介 SpringAMQP是基于RabbitMQ封装的一套模板,并且还利用SpringBoot对其实现了自动装配,使用起来非常方便。 SpringAmqp的官方地址:https://spring.io/projects/spring-amqp SpringAMQP提供了三个功能: - 自动…...
celery 项目中mysql 数据库连接数耗尽事故记录
python 项目中使用 celery 中导致mysql数据库连接耗尽记录【mysql数据库连接池使用错误】 结论:由于使用 celery 进行项目的多任务管理,在worker任务定义的过程中,使用了 dbutils 中的 PooledDB 连接池进行 mysql数据库连接, 因此…...
Python数据分析-Scipy科学计算法
1.认识Scipy SciPy(发音为 "Sigh Pie")是一个开源的 Python 算法库和数学工具包。 通常与 NumPy、Matplotlib 和 pandas 等库一起使用,这些库共同构成了 Python 的科学计算基础。 2.使用Scipy基本函数 2.1 引用Scipy函数 impor…...
【Python Django + Vue】酒店在线预订系统:用技术说话!
🎓 作者:计算机毕设小月哥 | 软件开发专家 🖥️ 简介:8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 🛠️ 专业服务 🛠️ 需求定制化开发源码提…...
禁用微软的windos安全中心
目录 一、为什么禁用 二、WDControl_1.5.0程序禁用windows安全中心 步骤1--- 步骤2--- 三、禁用widows安全中心成功 一、为什么禁用 描述:下载第三方软件常常会收到病毒防护秒杀, 第1---直接无法下载 第2---提前下载在U盘解压会被干掉程序文件 …...
2.html编辑器介绍
html编辑器介绍 HTML 编辑器推荐 理论上我们可以使用记事本进行html编码和开发,但是在实际开发html页面的时候,使用一些专业的开发工具可以使我们更加快速和高效的进行开发,下面介绍几种开发工具: VS Code:https://…...
树莓派应用--AI项目实战篇来啦-17.YOLOv8目标检测-安全帽检测
1. YOLOv8介绍 YOLOv8是Ultralytics公司2023年推出的Yolo系列目标检测算法,可以用于图像分类、物体检测和实例分割等任务。YOLOv8作为YOLO系列算法的最新成员,在损失函数、Anchor机制、样本分配策略等方面进行了全面优化和创新。这些改进不仅提高了模型的…...
git-secret介绍
git-secret介绍 git-secret 是一个与git兼容的命令行工具,旨在安全地存储和管理敏感数据,如源代码中的密码、密钥以及敏感文件。它通过 GPG 加密来保护文件,确保只有授权的用户才能访问这些敏感信息。 使用流程 1、安装 Git-Secret:在本地开发环境中安装 git-secret。 2…...
【实战】Nginx+Lua脚本+Redis 实现自动封禁访问频率过高IP
大家好,我是冰河~~ 自己搭建的网站刚上线,短信接口就被一直攻击,并且攻击者不停变换IP,导致阿里云短信平台上的短信被恶意刷取了几千条,加上最近工作比较忙,就直接在OpenResty上对短信接口做了一些限制&am…...
计算机专业大一课程:线性代数探秘
计算机专业大一课程:线性代数探秘 对于计算机专业的大一新生来说,线性代数是一门基础且重要的课程。它不仅是数学的一个分支,更是计算机科学中不可或缺的工具。那么,线性代数究竟包含哪些内容,对我们的计算机学习有何…...
vscode写markdown插入图片视频并放在指定目录
目录 前言正文 前言 各种云文档非常好用,但是当你想把这些资料保存在本地时,markdown我觉得是最好的选择 markdown编辑器也有很多,但我还是觉得vscode最好用,直接粘贴文件就可以插入也类似云文档的使用体验,但是想要…...
鸿蒙富文本显示
1.使用 RichText 组件(ArkTS) 背景知识:在 ArkTS(一种鸿蒙应用开发语言)中,RichText组件提供了更强大的富文本显示功能。它允许设置不同的文本样式,包括字体、颜色、字号等多种属性。 Rich Te…...
手写mybatis之细化XML语句构建器,完善静态SQL解析
前言 1:在流程上,通过 DefaultSqlSession#selectOne 方法调用执行器,并通过预处理语句处理器 PreparedStatementHandler 执行参数设置和结果查询。 2:那么这个流程中我们所处理的参数信息,也就是每个 SQL 执行时&#…...
NVIDIA Profile Inspector终极显卡优化工具:简单易用的性能调校完整指南
NVIDIA Profile Inspector终极显卡优化工具:简单易用的性能调校完整指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款专业的显卡优化工具,专为…...
攻克R与Python的壁垒:Giotto空间转录组分析环境一站式搭建指南
1. 为什么你的Giotto安装总是失败? 每次看到空间转录组数据就手痒想用Giotto分析,结果安装环节就被劝退?这可能是大多数生物信息学新手都会遇到的尴尬。作为一个在生信领域摸爬滚打多年的"环境配置工程师",我太理解这种…...
Nestia:基于TypeScript编译时分析的NestJS端到端类型安全实践
1. 项目概述:当NestJS遇上TypeScript的极致类型安全如果你正在用NestJS开发后端API,并且对TypeScript的类型安全有近乎偏执的追求,那么你很可能已经听说过,或者正在寻找一个能让你“写一次,安全两次”的工具。我说的“…...
Bifrost:轻量高效的实时数据同步平台架构与实战
1. 项目概述:Bifrost,一个被低估的现代数据同步利器如果你正在处理跨数据库、跨数据源的数据同步任务,并且对传统ETL工具的笨重、配置复杂感到头疼,那么maximhq/bifrost这个项目绝对值得你花时间深入了解。我第一次接触Bifrost是在…...
怎么判断一家工厂还在不在正常生产?6 类活跃度信号,从纸面到现场
跑工厂的销售员都遇到过这种事:手机里存着一份名单,导航开两小时,到门口才发现卷帘门焊死、车间长草、保安说"厂子去年就搬了"。 问题出在哪?大多数人判断"这家工厂在不在",靠的是工商登记——执照…...
旁遮普语内容出海迫在眉睫!ElevenLabs+AWS Polly双引擎容灾方案(含Failover切换SLA 99.99%保障协议模板)
更多请点击: https://intelliparadigm.com 第一章:旁遮普语内容出海的战略紧迫性与本地化语音缺口 旁遮普语是全球使用人数超1.2亿的语言,主要分布在印度旁遮普邦、巴基斯坦旁遮普省及庞大的海外侨民社群(如加拿大、英国、美国&…...
ARM Cortex-A5 SCU架构与多核缓存一致性解析
1. ARM Cortex-A5 SCU架构解析SCU(Snoop Control Unit)是Cortex-A5多核处理器中的关键组件,主要负责维护多核间的缓存一致性。当某个CPU核心修改了共享内存区域的数据时,SCU会自动通知其他核心的缓存进行更新或失效操作。这种机制…...
基于Blazor与LLamaSharp构建本地大模型ChatGPT式Web应用
1. 项目概述与核心价值最近在折腾一个内部工具,想把本地大模型的能力和类似ChatGPT的对话体验结合起来,部署成一个Web应用。找了一圈,发现一个挺有意思的项目叫“BLlamaSharp.ChatGpt.Blazor”。光看这个名字,信息量就很大了&…...
AI智能体文件管理:从零构建统一资产仓库与版本控制系统
1. 项目概述与核心价值最近在折腾AI智能体开发的朋友,估计没少为文件管理这事儿头疼。你辛辛苦苦训练好的模型、精心设计的提示词模板、还有那些五花八门的配置文件,是不是散落在各个角落,每次想复现或者分享都得一通乱找?更别提团…...
CodeWeaver:多仓库聚合分析工具的设计、部署与实战指南
1. 项目概述与核心价值最近在折腾一个老项目,需要把一堆陈年的、用不同语言和框架写的代码仓库整合到一个统一的视图里进行管理和分析。手动去每个仓库里翻看提交记录、统计代码行数、检查依赖关系,这活儿想想就头大。就在我准备硬着头皮写脚本的时候&am…...
