数学建模----滑翔伞伞翼面积的设计及运动状态描述

embedded/2024/10/9 15:18:55/

摘要

        滑翔伞作为一项融合了挑战、冒险和刺激于一体的运动,近年来在全球范围内受到了广泛的关注。滑翔伞在救援、探险、体育、娱乐、环保和交通等领域的应用展现了其重要价值。然而,中国在滑翔伞领域尚未取得突破,缺乏全球影响力和竞争力。因此,设计一款安全、灵活、可控的滑翔伞对于中国滑翔伞行业的发展和全球滑翔伞科技的进步具有重要意义。

问题分析与思路

背景

        滑翔伞在全球范围内应用广泛,但中国在这一领域仍处于初级阶段,设计符合中国使用习惯的滑翔伞对于推动滑翔伞运动的普及和发展具有重要作用。

问题提出

本文旨在研究并解决以下问题:

  1. 设计滑翔伞伞翼面积模型,并求解最小平展面积。
  2. 建立无风状态下滑翔伞的飞行模型,分析其运动过程和操纵策略。
  3. 在平均风状态下,建立滑翔伞的飞行模型,分析其运动过程和操纵策略。

整体建立模型以及各符号含义如下:

问题一:滑翔伞伞翼面积设计

研究思路

        设计滑翔伞伞翼面积需要考虑负载能力、安全飞行速度、安全降落速度、起飞高度和滑翔性能等因素。结合这些因素建立数学模型,通过遗传算法和模拟退火算法求解,以获得最小的伞翼平展面积。

模型建立

        结合设计滑翔伞伞翼需要考虑的因素,将滑翔伞伞翼最小平展面积模型建立问题转化为最优化问题,其目标是最小化滑翔伞伞翼面积,并且同时满足总重量约束、升力约束、安全飞行速度约束、安全降落速度约束以及平展宽度、投影宽度、最大弦长和气室数量等约束条件。

        通过建立约束条件和目标函数,将数学模型转化为一个优化问题。 根据问题一的要求和给定参数, 需要将这些参数转化为数学表达式,以便建立数学模型。

        首 先 , 考 虑 人 的 重 量 范 围 和 滑 翔 伞 的 重 量 范 围 , 将 其 表 示 为Pw_min、Pw_max 和 W_min、W_max。然后,定义总重量m为这些参数的平均值,即 m = (PW_min +  PW_max) / 2 + (W_min  + W_max) / 2。

        为了确保滑翔伞的安全性和性能,需要定义一系列约束条件。根据问题一的要求和给定参数, 可以得到以下约束条件:

        (1)升力约束:根据物体在地球上的重力加速度, 可以计算滑翔伞所需的最小升力L_min = W * 9.8

        (2)安全飞行速度约束:滑翔伞的飞行速度应在安全范围内,即v_min <= v <= v_max

        (3)安全降落速度约束:滑翔伞的降落速度应在安全范围内, 即v_landing_min <= v_landing <= v_landing_max

        (4)平展宽度约束:根据给定的展弦比aspect_ratio,平展宽度应满足planform_width >= A / aspect_ratio

        (5)投影宽度约束:根据给定的投影展弦比projection_aspect_ratio,投影宽度应满足planform_width >= A / projection_aspect_ratio

        (6)最大弦长约束:根据平展宽度和最大弦长 max_chord_length 的关系,最大弦长应满足 max_chord_length >= A / planform_width

        (7)气室数量约束:根据给定的气室数量 air_cell_count 和组带数量line_group_count,气室数量应满足 air_cell_count >= A / (projection_width ∗ line_group_count)

        为了寻找满足所有约束条件的最小平展面积, 将目标函数定义为最小化翼面积 A,即minimize(A)。

        由上述约束条件以及目标函数建立了滑翔伞伞翼最小平展面积A 的优化问题的数学模型。通过常见的最优化算法求解这个优化问题,可以得到满足安全性要求的最小平展面积,为滑翔伞的设计和性能优化提供有价值的参考。

模型求解(使用遗传算法和模拟退火算法)

        (1)遗传算法步骤

        遗传算法(Genetic Algorithm)是一种模拟自然生物进化过程的优化算法。它通过模拟遗传、交叉和变异等基因操作,通过不断进化生成新的解,寻找问题的最优解或接近最优解。

        遗传算法的基本思想源于达尔文的进化论。它通过模拟自然选择、遗传和变异等生物进化过程,将问题的解表示为染色体上的一个个体(基因),通过适应度函数来评估个体的适应度。根据适应度的评估结果,优秀的个体被选择作为父代,通过交叉和变异操作生成新的个体,进一步改进解的质量。经过多代的进化迭代,最终找到问题的最优解或接近最优解。

遗传算法步骤如下:

Step1:初始化种群

        随机生成初始的种群,每个个体表示一个可能的解,也称为染色体。种群的大小、染色体编码方式和初始值的选择都是需要考虑的因素。

Step2:评估适应度

        根据问题的具体目标和约束条件,为每个个体计算适应度值,评估其解决问题的能力。适应度值反映了个体的优劣程度,通常越优秀的个体具有越高的适应度。

Step3:选择操作

        根据适应度值,选择一部分优秀的个体作为父代,用于生成下一代的个体。常见的选择方法有轮盘赌选择、锦标赛选择等,选择过程中适应度较高的个体有更高的概率被选中。

Step4:交叉操作

        从选中的父代中选择两个个体,通过染色体的交叉操作,产生新的子代。交叉操作模拟了遗传中的基因交换过程,将两个父代的染色体片段组合成新的染色体。

Step5:变异操作

        对新生成的子代进行变异操作,以引入新的基因信息。变异操作模拟了基因突变的过程,随机改变染色体中的一个或多个基因,以增加搜索空间的多样性。

Step6:生成下一代

        通过选择、交叉和变异操作,生成下一代个体。新的个体代替原来的个体, 构成新的种群。

Step7:重复迭代

        重复执行步骤 2 至步骤 6,直到满足停止条件,例如达到最大迭代次数或找到满意的解。

Step8:输出结果

        返回找到的最优解或接近最优解的个体,作为问题的优化结果。

        遗传算法具有较好的全局搜索能力和适应性,适用于解决各种优化问题,特别是复杂的、非线性的和多模态的问题。它被广泛应用于工程优化、组合优化、机器学习、人工智能等领域,成为一种常用的优化算法之一。

        

        (2)模拟退火算法步骤

        模拟退火算法(Simulated Annealing)是一种全局优化算法,用于在复杂的搜索空间中寻找问题的最优解或接近最优解。它的灵感来源于固体退火过程中的原子结构变化。

        退火是将固体加热至高温后缓慢冷却的过程。在冷却过程中,原子结构逐渐趋于稳定态,最终达到低能量的状态。模拟退火算法基于这个思想,通过模拟固体退火过程中的结构变化,来搜索问题的最优解。

        模拟退火算法首先给出初始退火温度 𝑇0 ,得出初始解𝑥0,并计算对应的目标函数值Ex0 ,然后进行降温,给定退火速率k(取 0 到 1 之间),对当前解𝑥𝑡施加随机扰动并在其邻域内产生一个新解𝑥𝑡+1并计算对应的目标函数值𝐸𝑥𝑡+1 ,计算∆E,若∆E < 0,接受新解作为当前解,否则按照概率𝑒−∆𝐸/𝐾𝑇判断是否接受新解,在温度T下,重复L次扰动和接受过程,最后判断温度是否达到终止温度水平𝑇𝑒𝑛𝑑, 若是,则终止算法,否则进行迭代,直至满足条件。模拟退火算法流程如图 5.2 所示。

        结果:

问题二:无风状态下的飞行模型

研究思路

在无风状态下,分析滑翔伞的运动过程和操纵策略,建立动力学方程,通过Runge-Kutta方法进行数值积分求解。

模型建立与求解
  1. 升力和阻力分析:通过伞翼的形状产生升力,受重力和空气阻力影响。
  2. 运动过程:从高空竖直落下,通过调整控制绳控制速度和方向,实现滑翔降落。
  3. 操纵策略:根据飞行轨迹和风速调整滑翔伞的姿态和控制绳的拉动。

使用数值积分方法模拟滑翔伞的运动过程,绘制运动轨迹图,分析滑翔伞的飞行特性。

问题三:平均风风场下的飞行模型

研究思路

在平均风状态下,分析滑翔伞的运动过程和操纵策略,考虑风速和风向对滑翔伞的影响,使用欧拉法进行迭代求解。

模型建立与求解
  1. 风速和风向影响分析:风速和风向对滑翔伞的水平和垂直运动产生影响。
  2. 动力学方程建立:结合牛顿第二定律和滑翔伞的受力情况,建立动力学方程。
  3. 迭代求解:使用欧拉法对动力学方程进行迭代求解,模拟滑翔伞的运动过程。

通过数值模拟方法,得到滑翔伞在平均风状态下的飞行轨迹和运动特性。

模型评价与改进

模型评价
  1. 问题一:通过遗传算法和模拟退火算法求解滑翔伞伞翼面积模型,结果可靠。
  2. 问题二:在无风状态下,使用Runge-Kutta方法精确模拟滑翔伞的飞行过程。
  3. 问题三:在平均风状态下,使用欧拉法对模型方程进行求解,结果合理。
模型改进
  1. 问题一:进一步考虑气动特性、材料强度和制造成本等因素,完善伞翼面积模型。
  2. 算法优化:改进遗传算法和模拟退火算法,提高求解精度。
  3. 求解精度:在问题三中,通过增加参数量和迭代次数,提高欧拉法求解的精度。

成品的论文以及具体的代码思路讲解,我都放在评论区了,需要的朋友自取。


http://www.ppmy.cn/embedded/56412.html

相关文章

【selenium 】操作元素

操作元素 元素操作鼠标操作键盘操作 元素操作 元素操作示例清空输入框clear()deiver.find_element_by_id(“username”).clear()输入文字send_keys()deiver.find_element_by_id(“username”).send_keys(‘zs’)元素点击 click()deiver.find_element_by_id(“login”).click()…

LRU Cache 双向链表以及STL list实现----面试常考

双向链表版本&#xff1a; #include <bits/stdc.h> using namespace std; struct Node{int key, value;Node* prev;Node* next;Node():key(0), value(0), prev(nullptr), next(nullptr){}Node(int k, int v):key(k), value(v), prev(nullptr), next(nullptr){} }; class…

Unreal Engine@Jetson Orin Nano尚不支持

Unreal EngineJetson Orin Nano尚不支持 1. 源由2. Unreal Engine介绍3. 问题4. 编译方法5. 补充6. 其他 1. 源由 最近在看SC-Explorer方面的内容&#xff0c;在模拟方面采用了Unreal Engine。 本打算跑下模拟&#xff0c;因此打算在JetsonOrin的板子上试试看。 2. Unreal En…

【进阶篇-Day6:JAVA中Arrays工具类、排序算法、正则表达式的介绍】

目录 1、Arrays工具类2、排序算法2.1 冒泡排序2.2 选择排序2.3 二分查找&#xff08;折半查找&#xff09;&#xff08;1&#xff09;概念&#xff1a;&#xff08;2&#xff09;步骤&#xff1a; 3、正则表达式3.1 正则表达式的概念&#xff1a;3.2 正则表达式的格式&#xff…

项目实战--Spring Boot与PageHelper的集成及线程污染解决

一、PageHelper使用背景 公司要做个简单管理系统&#xff0c;要我搭建Spring BootMyBatisPageHelperRedis的项目框架然后交i给实习生来开发。这个其实很简单&#xff0c;但是遇到搭建和使用过程中PageHelper有好多小坑&#xff0c;就记录一下&#xff0c;避免再踩。 版本选择&…

iOS 真机打包,证书报错No signing certificate “iOS Distribution” found

之前将APP从旧账号转移到了新账号&#xff0c;在新账号打包的时候遇到的证书问题。 因为新账号还没有导出“本地签名证书”&#xff0c;也还没有创建新的“发布证书”。当我创建好这两者之后&#xff0c;在xcode打包的时候就报错了。 报错信息&#xff1a; No signing certifi…

springai+pgvector+ollama实现rag

首先在ollama中安装mofanke/dmeta-embedding-zh:latest。执行ollama run mofanke/dmeta-embedding-zh 。实现将文本转化为向量数据 接着安装pgvector&#xff08;建议使用pgadmin4作为可视化工具&#xff0c;用navicate会出现表不显示的问题&#xff09; 安装好需要的软件后我们…

ceph-volume inventory KeyError: ‘TYPE‘ 处理

是否有人跟我一样碰到这样的情况 执行ceph-volume inventory报错 还好有错误日志可以看 [2024-07-05 11:40:40,540][ceph_volume.process][INFO ] Running command: /usr/sbin/blkid -c /dev/null -p /dev/ceph-c5fd6684-3851-49ab-bd44-f6743a79e24f/osd-block-42d41cd1-82…