2023 年 亚太赛 APMCM (B题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2022年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。

在这里插入图片描述

问题一:

建立没有作物的玻璃温室内的温度和风速分布数学模型,我们可以采用流体力学和热传导的基本方程。假设温室内的流体是不可压缩、稳定、定常的,并考虑热传导和对流。

  1. 质量守恒方程:
    ∇ ⋅ v = 0 \nabla \cdot \mathbf{v} = 0 v=0
    这里, v \mathbf{v} v 是速度场矢量。

  2. 动量守恒方程:
    ρ ( ∂ v ∂ t + v ⋅ ∇ v ) = − ∇ p + μ ∇ 2 v + ρ g \rho \left(\frac{\partial \mathbf{v}}{\partial t} + \mathbf{v} \cdot \nabla \mathbf{v}\right) = -\nabla p + \mu \nabla^2 \mathbf{v} + \rho \mathbf{g} ρ(tv+vv)=p+μ2v+ρg
    其中, ρ \rho ρ 是流体密度, p p p 是压力, μ \mu μ 是动力粘度, g \mathbf{g} g 是重力矢量。

  3. 能量守恒方程:
    ρ C p ( ∂ T ∂ t + v ⋅ ∇ T ) = ∇ ⋅ ( k ∇ T ) + ρ H \rho C_p \left(\frac{\partial T}{\partial t} + \mathbf{v} \cdot \nabla T\right) = \nabla \cdot (k \nabla T) + \rho H ρCp(tT+vT)=(kT)+ρH
    其中, C p C_p Cp 是比热容, T T T 是温度场, k k k 是热导率, H H H 是热源(考虑加热风的影响)。

  4. 边界条件:

    • 温室的外玻璃和底部土壤被设置为壁条件,即流体不能穿过它们。
    • 温室风扇一侧的边界条件被设置为速度入口条件,水平方向以平均速度吹出暖空气。
      温室外表面:速度和温度的法向梯度等于零,即流体不能穿过温室外表面。
      温室风扇一侧:速度边界条件,水平方向以平均速度吹出暖空气(具体参数可根据实际情况调整)。
      温室内部:作物的多孔介质边界条件,考虑作物的冠层阻力。
  5. 初始条件:

    • 温室内的初始温度设定为20°C。

通过数值解这组方程,可以获得在温室高度为0.5米的横截面上的风速和温度的分布。

  1. 速度场方程:
    ∂ u ∂ x + ∂ v ∂ y + ∂ w ∂ z = 0 \frac{\partial u}{\partial x} + \frac{\partial v}{\partial y} + \frac{\partial w}{\partial z} = 0 xu+yv+zw=0
    这里, u u u, v v v, 和 w w w 分别是速度场在 x、y 和 z 方向上的分量。

  2. Navier-Stokes 动量守恒方程(在稳态、不可压缩的情况下):
    ρ ( u ∂ u ∂ x + v ∂ u ∂ y + w ∂ u ∂ z ) = − ∂ p ∂ x + μ ∇ 2 u + ρ g x \rho \left(u \frac{\partial u}{\partial x} + v \frac{\partial u}{\partial y} + w \frac{\partial u}{\partial z}\right) = -\frac{\partial p}{\partial x} + \mu \nabla^2 u + \rho g_x ρ(uxu+vyu+wzu)=xp+μ2u+ρgx
    同样的方程适用于 v v v w w w 分量,其中 g x g_x gx 是重力场在 x 方向上的分量。

  3. 热传导方程:
    ρ C p ( u ∂ T ∂ x + v ∂ T ∂ y + w ∂ T ∂ z ) = k ∇ 2 T + ρ H \rho C_p \left(u \frac{\partial T}{\partial x} + v \frac{\partial T}{\partial y} + w \frac{\partial T}{\partial z}\right) = k \nabla^2 T + \rho H ρCp(uxT+vyT+wzT)=k2T+ρH
    这里, T T T 是温度场。

  4. 初始条件:

    • 温室内初始时刻的速度和温度分布。
  5. 附加约束:

    • 适宜的风速范围为0.3-1m/s。
    • 适宜的温度范围为23-26°C。
    • 考虑温室结构,包括玻璃的导热性、风扇的特性等。

数学模型的求解可以使用数值方法,如有限体积法或有限元法,通过在计算网格上离散化方程组,迭代求解以获得温室内温度和风速的分布。

问题二

为了建立种植了作物的玻璃温室内的温度和风速分布的数学模型,我们需要考虑作物的冠层阻力以及温室内的空气流动。以下是数学模型的一般描述:

流体动力学方程:

质量守恒方程:

∇ ⋅ v = 0 \nabla \cdot \mathbf{v} = 0 v=0

Navier-Stokes 动量守恒方程:

ρ ( ∂ v ∂ t + v ⋅ ∇ v ) = − ∇ p + μ ∇ 2 v + ρ g \rho \left(\frac{\partial \mathbf{v}}{\partial t} + \mathbf{v} \cdot \nabla \mathbf{v}\right) = -\nabla p + \mu \nabla^2 \mathbf{v} + \rho \mathbf{g} ρ(tv+vv)=p+μ2v+ρg

其中, v = ( u , v , w ) \mathbf{v} = (u, v, w) v=(u,v,w) 是速度场矢量, p p p 是压力, μ \mu μ 是动力粘度, ρ \rho ρ 是流体密度, g = ( 0 , 0 , − g ) \mathbf{g} = (0, 0, -g) g=(0,0,g) 是重力矢量。

热传导方程:

能量守恒方程:

ρ C p ( ∂ T ∂ t + v ⋅ ∇ T ) = ∇ ⋅ ( k ∇ T ) + ρ H \rho C_p \left(\frac{\partial T}{\partial t} + \mathbf{v} \cdot \nabla T\right) = \nabla \cdot (k \nabla T) + \rho H ρCp(tT+vT)=(kT)+ρH

其中, T T T 是温度场, C p C_p Cp 是比热容, k k k 是热导率, H H H 是热源(可能包括作物的代谢产生的热)。

作物模型:

作物的冠层阻力可以通过适当的参数化来考虑,例如引入一个与作物生长状态相关的阻力项。

边界条件:

  1. 速度边界条件:

    • 温室风扇一侧设置为速度入口条件,水平方向以平均速度吹出暖空气。
    • 温室内其余表面设定为壁条件,防止空气穿过温室表面。
  2. 温度边界条件:

    • 温室风扇一侧设置为温度入口条件,以40°C的温暖空气吹出。
    • 温室内其余表面设定为壁条件。

初始条件:

  • 温室内的初始温度设定为20°C。

两个横截面分布:

  1. 高度为0.5米的位置(作物冠层水平):

    • 分析在作物冠层水平位置的风速和温度分布,以评估是否符合作物的生长要求。
  2. 高度为0.1米的位置(作物冠层内部):

    • 分析在作物冠层内部的风速和温度分布,以更详细地考虑作物生长的影响。

分析条件是否适宜作物生长:

通过模拟结果,比较温室内两个不同高度的横截面上的温度和风速分布与作物生长的要求,评估条件是否适宜。关注作物所需的温度范围和适宜的风速,以模拟结果在这些方面满足作物生长的基本条件。

用python进行数值模拟:

import numpy as npimport matplotlib.pyplot as plt# 模拟参数
length = 10.0  # 温室长度
width = 3.0    # 温室宽度
height = 2.0   # 温室高度dx = 0.1       # 空间步长
dt = 0.01      # 时间步长
time_steps = 100# 空间网格
x = np.arange(0, length, dx)
y = np.arange(0, width, dx)
z = np.arange(0, height, dx)# 初始化温度场和速度场
T = np.ones((len(x), len(y), len(z))) * 20.0  # 初始温度
U = np.zeros((len(x), len(y), len(z)))         # 初始速度# 模拟时间步进
for t in range(time_steps):# 在这里添加 Navier-Stokes 和能量守恒的数值解法# 更新速度场
# 更新速度场 - Navier-Stokes方程
for i in range(1, len(x) - 1):for j in range(1, len(y) - 1):for k in range(1, len(z) - 1):# Navier-Stokes 方程的简化数值解法dUx_dt = -((U[i+1, j, k, 0] - U[i-1, j, k, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i, j+1, k, 1] - U[i, j-1, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i, j, k+1, 2] - U[i, j, k-1, 2]) / (2*dx)) * U[i, j, k, 2]dUy_dt = -((U[i, j+1, k, 0] - U[i, j-1, k, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i+1, j, k, 1] - U[i-1, j, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i, j, k+1, 2] - U[i, j, k-1, 2]) / (2*dx)) * U[i, j, k, 2]dUz_dt = -((U[i, j, k+1, 0] - U[i, j, k-1, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i, j+1, k, 1] - U[i, j-1, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i+1, j, k, 2] - U[i-1, j, k, 2]) / (2*dx)) * U[i, j, k, 2]U[i, j, k] += np.array([dUx_dt, dUy_dt, dUz_dt]) * dt# 更新温度场 - 热传导方程
alpha = 0.1  # 热扩散系数for i in range(1, len(x) - 1):for j in range(1, len(y) - 1):for k in range(1, len(z) - 1):# 热传导方程的简化数值解法dT_dt = alpha * ( (T[i+1, j, k] - 2*T[i, j, k] + T[i-1, j, k]) / (dx**2) +(T[i, j+1, k] - 2*T[i, j, k] + T[i, j-1, k]) / (dy**2) +(T[i, j, k+1] - 2*T[i, j, k] + T[i, j, k-1]) / (dz**2) )T[i, j, k] += dT_dt * dt# 绘制结果
plt.imshow(T[:, :, int(len(z)/2)], cmap='hot', extent=[0, length, 0, width])
plt.colorbar(label='Temperature (°C)')
plt.quiver(x, y, U[:, :, int(len(z)/2)], np.zeros_like(y), scale=20, scale_units='xy', color='white')
plt.title('Temperature and Airflow in the Greenhouse')
plt.xlabel('Length (m)')
plt.ylabel('Width (m)')
plt.show()

问题三:

在给定的两个情景中,我们要考虑温室内的空气流动和温度分布的理论影响。为了理解这些影响,我们依照 Navier-Stokes 方程和能量守恒方程进行分析。

情景1:将暖空气出口的速度从2 m/s增加到3 m/s

加强空气对流,高速的暖空气流动可能增加温室内的空气对流,从而影响整体温度分布。

更有效的温室加热,提高暖空气速度可能会提高空气与温室结构之间的热交换效率,可能导致温室内的温度升高。

空气流动的不均匀性,更高的速度可能引入空气流动的不均匀性,导致一些区域温度升高,而另一些区域温度较低。

情景2:通过将温室风扇从1.3m降至1m的位置进行调整:

改变空气流动路径,调整风扇位置可能会改变温室内的空气流动路径,影响空气对流和温度分布。

作物冠层的影响,风扇位置的变化可能会直接影响作物冠层的温度和空气流动,对作物生长产生重要影响。

温室底部温度变化,调整风扇位置可能影响温室底部的温度分布,进而影响底部作物的生长环境。

具体的微调代码为:

第一种情景 - 增加暖空气出口速度

warm_air_speed = 3  # 将暖空气出口速度从2 m/s#增加到3 m/s# 更新速度场
for i in range(1, len(x) - 1):for j in range(1, len(y) - 1):for k in range(1, len(z) - 1):# Navier-Stokes方程的简化数值解法dUx_dt = -((U[i+1, j, k, 0] - U[i-1, j, k, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i, j+1, k, 1] - U[i, j-1, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i, j, k+1, 2] - U[i, j, k-1, 2]) / (2*dx)) * U[i, j, k, 2]dUy_dt = -((U[i, j+1, k, 0] - U[i, j-1, k, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i+1, j, k, 1] - U[i-1, j, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i, j, k+1, 2] - U[i, j, k-1, 2]) / (2*dx)) * U[i, j, k, 2]dUz_dt = -((U[i, j, k+1, 0] - U[i, j, k-1, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i, j+1, k, 1] - U[i, j-1, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i+1, j, k, 2] - U[i-1, j, k, 2]) / (2*dx)) * U[i, j, k, 2]U[i, j, k] += np.array([dUx_dt, dUy_dt, dUz_dt]) * dt * warm_air_speed / 2  # 调整速度# 更新温度场 - 热传导方程
alpha = 0.1  # 热扩散系数for i in range(1, len(x) - 1):for j in range(1, len(y) - 1):for k in range(1, len(z) - 1):# 热传导方程的简化数值解法dT_dt = alpha * ( (T[i+1, j, k] - 2*T[i, j, k] + T[i-1, j, k]) / (dx**2) +(T[i, j+1, k] - 2*T[i, j, k] + T[i, j-1, k]) / (dy**2) +(T[i, j, k+1] - 2*T[i, j, k] + T[i, j, k-1]) / (dz**2) )T[i, j, k] += dT_dt * dt# 第二种情景 - 调整温室风扇位置
fan_height = 1  # 将温室风扇位置从1.3m降至1m# 更新速度场
for i in range(1, len(x) - 1):for j in range(1, len(y) - 1):for k in range(1, len(z) - 1):# Navier-Stokes方程的简化数值解法dUx_dt = -((U[i+1, j, k, 0] - U[i-1, j, k, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i, j+1, k, 1] - U[i, j-1, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i, j, k+1, 2] - U[i, j, k-1, 2]) / (2*dx)) * U[i, j, k, 2]dUy_dt = -((U[i, j+1, k, 0] - U[i, j-1, k, 0]) / (2*dx)) * U[i, j, k, 0] - ((U[i+1, j, k, 1] - U[i-1, j, k, 1]) / (2*dx)) * U[i, j, k, 1] - ((U[i, j, k+1, 2] - U[i, j, k-1, 2]) / (2*dx)) * U[i, j, k, 2]dUz_dt = -((U[i, j, k+1, 0] - U[i, j, k-1, 0]) / (2*dx)) * U[i, j, k, 0] -

我们期望温室内的温度分布更加均匀,同时适宜的风速和温度范围将有助于提供良好的生长条件。

更多内容具体可以看看我的下方名片!里面包含有亚太赛一手资料与分析!
另外在赛中,我们也会陪大家一起解析亚太赛APMCM的一些方向
关注 CS数模 团队,数模不迷路~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/161945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MacOS 成为恶意软件活动的目标

Malwarebytes 警告称,一个针对 Mac 操作系统 (OS) 的数据窃取程序正在通过虚假的网络浏览器更新分发给毫无戒心的目标。 Atomic Stealer,也称为 AMOS,是 Mac OS 上流行的窃取程序。 Atomic Stealer (AMOS) 恶意软件最近被发现使用“ClearFa…

ImportError: cannot import name ‘contextfilter‘ from ‘jinja2‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

汇编-pop出栈指令

32位汇编 执行动作分为两步: 第一步:读出数据 第二步:改变栈地址 如果操作数是16位, 则ESP加2; 如果操作数是32位, 则ESP加4 espesp2 或 espesp4 格式:

IDEA中 java: 警告: 源发行版 11 需要目标发行版 11 如何解决

步骤1找到项目结构,下面有两种方式 步骤2找到 模块中对应的项目,修改对应的源的语言级别和依赖的模块SDK(M) 步骤3,启动一下,看有无问题, 步骤4,去文件-->设置-->构建、执行、部署-->编译器-->…

中职组网络安全B模块-渗透提权2

任务五:渗透提权2 任务环境说明: 仅能获取xxx的IP地址 用户名:test,密码:123456 访问服务器主机,找到主机中管理员名称,将管理员名称作为Flag值提交; Flag:doyoudoyoudo 访问服…

感恩三十载 再创新辉煌——中国音乐著作权协会成立30周年暨著作权集体管理制度实施30周年纪念大会在京召开

感恩三十载 再创新辉煌 2023年11月19日,中国音乐著作权协会成立30周年暨著作权集体管理制度实施30周年纪念大会在北京举行。中宣部副部长张建春,国际作者和作曲者协会联合会(CISAC)总干事甘迪奥龙(Gadi Oron&#xff0…

深入了解批处理文件:从基础到实例

1. 什么是批处理文件? 批处理文件是一种包含一系列命令的文本文件,通常用于自动化执行一系列任务。在不同操作系统中,批处理也有不同的名称,如在Windows中被称为批处理文件(.bat),而在Linux中则…

1、基础入门——操作系统文件下载反弹SHELL防火墙绕过

名词解释 POC:验证漏洞存在的代码; EXP:利用漏洞的代码; payload:漏洞利用载荷, shellcode:漏洞代码, webshell:特指网站后门; 木马:强调控制…

Day40:139.单词拆分、背包问题总结

文章目录 139.单词拆分思路代码实现 背包问题总结背包类型递推公式 139.单词拆分 题目链接 思路 确定dp数组以及下标的含义 dp[i] : 从0开始长度为i的字符串是否可以拆分为一个或多个在字典中出现的单词确定递推公式 如果确定dp[j] 是true,且 [j, i] 这个区间的子…

关于ElectronVue3中集成讯飞星火AI

前言:我的最终目的是为了在QQ上集成一个AI机器人,因此在这里先实现一个简单的集成 先上效果图 总体还是很简单的,我在调用websock获取回复内容的基础上另外集成了一个事件总线,让我们在调用获取消息的时候能够更加方便快捷 工具代…

联想拯救者Lenovo Legion R9000K 2021H(82N6)原装出厂Windows10/Win11系统ISO镜像

链接:https://pan.baidu.com/s/13NkeCXNdV0Ib5eeRnZUeAQ?pwdnlr7 提取码:nlr7 拯救者笔记本电脑原厂WIN系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文…

启发式搜索算法-人工智能

第1关:评估函数和启发信息 第2关:A*搜索算法 class Array2D:"""说明:1.构造方法需要两个参数,即二维数组的 宽和高2.成员变量w和h是二维数组的宽和高3.使用:‘对象[x][y]’可以直接取到相应的值4.数组的默认值都是0"""def __init__(s…

使用PySpark 结合Apache SystemDS 进行信号处理分析 (离散傅立叶变换)的简单例子

文章大纲 简介 :什么是 SystemDS ?环境搭建与数据 准备数据预处理模型训练 与 结果评估参考文献简介 :什么是 SystemDS ? SystemDS is an open source ML system for the end-to-end data science lifecycle from data integration, cleaning, and feature engineering, ov…

干货分享丨客户旅程管理的框架与案例

融合焕新,数字化转型打造客户经营新旅程。本文围绕该主题详细描述了客户旅程管理的框架,并通过实践案例进一步验证客户旅程管理的价值。 以下内容根据行业知名企业专家刘胜强的分享整理,完整版内容请点击文末“阅读原文”观看哦~ 一、客户时代…

【libGDX】使用Mesh绘制矩形

1 前言 使用Mesh绘制三角形 中介绍了绘制三角形的方法,本文将介绍绘制正方形的方法。 libGDX 以点、线段、三角形为图元,没有提供绘制矩形内部的接口。要绘制矩形内部,必须通过三角形拼接而成,如下图,是通过GL_TRIANGL…

基于JavaWeb+SSM+Vue家庭记账本微信小程序系统的设计和实现

基于JavaWebSSMVue家庭记账本微信小程序系统的设计和实现 源码获取入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 前言 1.1选题背景 互联网是人类的基本需求,特别是在现代社会,个人…

看不惯AI版权作品被白嫖!Stability AI副总裁选择了辞职,曾领导开发Stable Audio

近日,OpenAI的各种大瓜真是让人吃麻了。 而就在Sam Altmam被开除前两天,可能没太多人注意到Stability AI副总裁Newton—Rex因看不惯StabilityAI在版权保护上的行为选择辞职一事。 大模型研究测试传送门 GPT-4传送门(免墙,可直接…

SPASS-聚类和判别分析

聚类与判别分析概述 基本概念 聚类分析 聚类分析的基本思想是找出一些能够度量样本或指标之间相似程度的统计量,以这些统计量为划分类型的依据,把一些相似程度较大的样本(或指标)聚合为一类,把另外一些彼此之间相似程…

C++那些事之string那些事

C那些事之string那些事 C11C17C20C23结论 当我们使用C时,库的基础知识比较熟悉,尤其是在C中创建字符串时使用的std::string。这无疑是对旧的C风格“字符串”(使用以空字符结尾的字符数组)的一种改进。然而,C标准库在C1…

office word 使用笔记

office word 使用笔记 1. 功能1.1 格式快捷键1.2 复选框 2 遇到过的问题2.1 表格标题和表格距离过大 1. 功能 1.1 格式快捷键 复制格式:ctrl shift c 粘贴格式:ctrl shift v 1.2 复选框 方框位置和类型:“插入——高级符号——字体”选…