数学建模之微分方程模型

微分方程模型

微分方程模型_微分方程建模_wamg潇潇的博客-CSDN博客(比较简单,没代码)

数学建模之微分方程模型详解_微分方程模型的评价_左手の明天的博客-CSDN博客(很详细,没代码)

【数学建模】常用微分方程模型 + 详细手写公式推导 + Matlab代码实现_微分方程数学建模_WSKH0929的博客-CSDN博客(有人口模型和传染病模型的matlab代码)

人口模型 有matlab码

战争模型 有matlab码

火箭模型

传染病模型 有matlab码

药物试验模型 有matlab码

油画放射模型

一、简介

由微分方程可以描述数学、力学、物理、化学等学科中许多自然现象所满足的规律,如牛顿第二定律、放射性物质的放射性规律等。也可根据大量数据提出简化实际问题的微分方程模型,eg人口模型【Malthus 模型、阻滞增长模型(Logistic 模型)】、战争模型【正规战模型、游击战模型、混合战模型】。

二、流程

1. 根据实际要求确定要研究的量(自变量、未知函数、必要的参数等)并确定坐标系

2. 找出这些量所满足的基本规律(物理的、几何的、化学的或生物学的等等)。

3. 运用这些规律列出方程和定解条件

列方程常见的方法有:

(i)按规律直接列方程

如牛顿第二定律、放射性物质的放射性规律等。我们常利用 这些规律对某些实际问题列出微分方程。

(ii)微元分析法与任意区域上取积分的方法

自然界中也有许多现象所满足的规律是通过变量的微元之间的关系式来表达的。对 于这类问题,我们不能直接列出自变量和未知函数及其变化率之间的关系式,而是通过 微元分析法,利用已知的规律建立一些变量(自变量与未知函数)的微元之间的关系式, 然后再通过取极限的方法得到微分方程,或等价地通过任意区域上取积分的方法来建立 微分方程。

(iii)模拟近似

在生物、经济等学科中,许多现象所满足的规律并不很清楚而且相当复杂,因而需 要根据实际资料或大量的实验数据,提出各种假设。在一定的假设下,给出实际现象所 满足的规律,然后利用适当的数学方法列出微分方程。 在实际的微分方程建模过程中,也往往是上述方法的综合应用。不论应用哪种方法, 通常要根据实际情况,作出一定的假设与简化,并要把模型的理论或计算结果与实际情 况进行对照验证,以修改模型使之更准确地描述实际问题并进而达到预测预报的目的。 本章将利用上述方法讨论具体的微分方程的建模问题。

三、微分方程在数学建模中的应用

问题描述:

某人每天由饭食获取2 500卡热量,其中1 200卡用于新陈代谢,此外每千克体重需支付16卡热量作为运动消耗,其余热量则转化为脂肪,已知以脂肪形式贮存的热量利用率为100%,每千克脂肪含热量10 000卡,问此人的体重如何随时间而变化?

解析:

设人的体重为m(t),假设体重随时间是连续变化的,即m(t)是连续函数且充分光滑,故我们认为能量的摄取和消耗是随时发生的.这里我们以“天”为时间单位,在任何一个时间段内考虑能量的摄入和消耗所引起的体重的变化.根据能量的平衡原理,任何时间段内由于体重的改变所引起的人体内能量的变化应该等于这段时间内摄入的能量与消耗的能量的差.

我们发现从理论上来说,只要适当调节A和B,C(不变),即控制饮食和增加活动量,减肥就能达到好的效果.

四、案例分析

1.理想火箭模型

火箭推进力自始至终在加速整个火箭,然 而随着燃料的不断消耗,所出现的无用结构质量也在随之不断加速,作了无用功,故效益低,浪费大。

所谓理想火箭,就是能够随着燃料的燃烧不断抛弃火箭的无用结构。下面建立它的数学模型。

假设:在(t,t + Δt) 时段丢弃的结构质量与烧掉的燃料质量以α 与1−α 的比例同时进行。

建模与分析:由动量守恒定律,有

2.人口模型

2.1 问题提出

据考古学家论证,地球上出现生命距今已有 20 亿年,而人类的出现距今却不足 200 万年。纵观人类人口总数的增长情况,我们发现:1000 年前人口总数为 2.75 亿。经过 漫长的过程到 1830 年,人口总数达 10 亿,又经过 100 年,在 1930 年,人口总数达 20 亿;30 年之后,在 1960 年,人口总数为 30 亿;又经过 15 年,1975 年的人口总数是 40 亿,12 年之后即 1987 年,人口已达 50 亿。 我们自然会产生这样一个问题:人类人口增长的规律是什么?如何在数学上描述这 一规律。

2.2 Malthus 模型(有matlab代码)

1789 年,英国神父 Malthus 在分析了一百多年人口统计资料之后,提出了 Malthus 模型。 模型假设

(i)设 x(t) 表示t 时刻的人口数,且 x(t) 连续可微。

(ii)人口的增长率 r 是常数(增长率=出生率—死亡率)。

(iii)人口数量的变化是封闭的,即人口数量的增加与减少只取决于人口中个体的生育和死亡,且每一个体都具有同样的生育能力与死亡率.

建模与求解

 由假设,t 时刻到t + Δt 时刻人口的增量为

根据 1700~1961 年间世界人口统计数据,我们发现这些数据与(16)式的计算结 果相当符合。因为在这期间地球上人口大约每 35 年增加 1 倍,而(16)式算出每 34.6 年增加 1 倍。 但是,当人们用(15)式对 1790 年以来的美国人口进行检验,发现有很大差异。

利用(16)式对世界人口进行预测,也会得出惊异的结论:当 t = 2670 年时 x(t) = 4.4× ,即 4400 万亿,这相当于地球上每平方米要容纳至少 20 人。

显然,用这一模型进行预测的结果远高于实际人口增长,误差的原因是对增长率 r 的估计过高。由此,可以对 增长率r 是常数的假设提出疑问

2.3 阻滞增长模型(Logistic 模型

如何对增长率 r 进行修正呢?我们知道,地球上的资源是有限的,它只能提供一定 数量的生命生存所需的条件。随着人口数量的增加,自然资源、环境条件等对人口再增 长的限制作用将越来越显著。如果在人口较少时,我们可以把增长率 r 看成常数,那么 当人口增加到一定数量之后,就应当视 r 为一个随着人口的增加而减小的量,即将增长 率 r 表示为人口 x(t) 的函数 r(x) ,且 r(x) 为 x 的减函数

模型假设

实际数据都能较好地吻合,在 1930 年之后,计算与实际偏差较大。原因之一是 60 年代 的实际人口已经突破了假设的极限人口xm ,由此可知,本模型的缺点之一就是不易确  xm

2.4 模型推广

可以从另一个角度导出阻滞增长模型,在 Malthus 模型上增加一个竞争项

-bx2 ( b > 0)  ,它的作用是使纯增长率减少。如果一个国家工业化程度较高,食品供应 较充足,能够提供更多的人生存,此时b 较小;反之b 较大,故建立方程

参数a b 可以通过已知数据利用 Matlab 中的非线性回归命令 nlinfit 求得。

3.战争模型(代码:基于MATLAB的差分方程战斗模型_差分方程模型matlab代码_USTC 五高考3模拟的博客-CSDN博客

问题的提出

影响一个军队战斗力的因素是多方面的,而具体到一次战争的胜负,部队采取的作战方式同样至关重要,此时作战空间同样成为讨论一个作战部队整体战斗力的一个不可忽略的因素。本节介绍几个作战模型,导出评估一个部队综合战斗力的一些方法,以预测一场战争的大致结局。

模型分析

甲乙两支部队互相交战,在整个战争期间,双方的兵力在不断发生变化,而影响兵力变化的诸多因素转化为数量非常困难。为此,我们作如下假定把问题简化。

1. x(t) , y(t) 表示甲乙双方在时刻的人数, x(0)=x0 ,y(0)=y0 分别表示甲乙双方在开战时的初始人数,x0 > 0, y0 >0

2. x(t) , y(t)是连续变化的,并且充分光滑;

3. 每一方的战斗减员率取决于双方的兵力,不妨以f(x,y) , g(x,y)分别表示甲乙双方的战斗减员率;

4. 每一方的非战斗减员率(由疾病、逃跑以及其他非作战事故因素所导致的一个部队减员),它通常可被设与本方的兵力成正比,比例系数分别对应甲乙双方;

5. 每一方的增援率,它通常取决于一个已投入战争部队以外的因素,甲乙双方的增援率函数分别以u(t) , v(t) 表示。

4. 传染病模型

4.1介绍

  • 描述传染病的传播过程
  • 分析受感染人数的变化规律
  • 预报传染病高发期到来的时刻
  • 按照传播过程的一般规律,用机理分析方法建立模型

4.2 SI模型

SI模型将人群分为两类,一类是健康人群(S),另一类是感染者(I

  • 假设总人数为N,且N不变
  • 假设时刻t健康人和感染者所占比例分别为s(t)i(t),且s(t)+i(t)=1
  • 假设每个病人每天有效接触人数为L(日接触率),感染者接触健康者,就会让健康者患病

SI模型的缺点在于,没有考虑病人可以被治愈的情况,导致最后所有健康者都会变为感染者,不太符合实际情况

4.3 SIS模型

SIS模型在SI模型的基础上,还考虑了健康人被感染后可能会被治愈,而且治愈后,还可能再次被感染的情况

假设总人数为N,且N不变

假设时刻t健康人和感染者所占比例分别为s(t)i(t),且s(t)+i(t)=1

假设每个病人每天有效接触人数为L(日接触率),感染者接触健康者,就会让健康者患病

假设病人每天的治愈率为M(日治愈率)

SIS模型作为SI模型的升级版,考虑了病人被治愈的情况,但同时,SIS模型没有考虑病人被治愈后,可能会产生抗体,而不会被再次感染的情况,不太符合某些传染病的模拟

4.4 SIR模型

SIR模型在SIS模型的基础上,还考虑了病人被治愈后,可能会产生抗体,而不会被再次感染的情况,适应性更强。

SIR模型中,有三种人群:健康者(S),感染者(I),免疫者(R

假设总人数为N,且N不变

假设时刻t健康人、感染者和免疫者所占比例分别为s(t)i(t)r(t),且s(t)+i(t)+r(t)=1

假设每个病人每天有效接触人数为L(日接触率),感染者接触健康者,就会让健康者患病

假设病人每天的治愈率为M(日治愈率)

假设病人被治愈后,会产生抗体,成为免疫者,免疫者群体不会被再次感染

可以看到,在SIR模型中,随着时间的推移,感染者人数先上升,达到一个峰值后,再下降,最后下降为0,所有人都成为免疫者。

5. 药物试验模型(matlab代码)

问题的提出

药物进入机体后,在随血液运输到各个器官和组织的过程中,不断地被吸收,分布,代谢,最终排除体外。药物在血液中的浓度,即单位体积血液(毫升)中药物含量(微克或毫克),称血药浓度,随时间和空间(机体的各部位)而变化。血药浓度的大小直接影响到药物的疗效,浓度太低不能达到预期的效果,浓度太高又可能导致药物中毒,副作用太强或造成浪费。因此研究药物在体内吸收,分布和排除的动态过程,及这些过程与药理反应间的定量关系(即数学模型),对于新药研究,剂量确定,给药方案设计等药理学和临床医学的发展都有重要的指导意义和使用价值。

问题分析

房室是指机体的一部分,药物在一个房室内呈均匀分布,即血药浓度是常数,而在不同房室之间则按照一定规律进行药物的转移,一个机体分为几个房室,要看不同药物的吸收,分布,排除过程的具体情况,以及研究对象所要求的精度而定。现在我们只讨论二室模型,即将机体分为血药较丰富的中心室(包括心,肺,肾等器官)和血液较贫乏的周边室(四肢,肌肉组织等)。药物的动态过程在每个房室内室一致的,转移只在两个房室之间以及某个房室与体外之间进行。二室模型的建立和求解方法可以推广到多室模型。

模型假设

1.机体分为中心室(1室)和周边室(2室),两个室的容积(即血药体积或药物分布容积)在过程中保持不变。

2.药物从一室向另一室的转移速率,及向体外的排除速率,与该室的血药浓度成正比。

3.只有中心室与体外有药物交换,即药物从体外进入中心室,最后又从中心室排除体外。与转移和排除的数量相比,药物的吸收可以忽略。

模型建立

在二室模中设

1. ci(t) , xi(t) Vi分别表示第i室(i=1,2)的血药浓度,药量和容积; 

2. Kij表示第i室向第j室药物转移速率系数;

3. K13是药物从1室向体外排除的速率系数;

4. f0(t)是给药速率,由给药方式和剂量确定

 为方便问题的表述和研究,画出二室模型示意图如下:

6.油画中的放射性物质

白铅(铅的氧化物)是油画中的颜料之一,应用已有2000余年,白铅中含有少量的铅(Pb210)和更少量的镭(Ra226)。白铅是由铅金属产生的,而铅金属是经过熔炼从铅矿中提取来出的。当白铅从处于放射性平衡状态的矿中提取出来时, Pb210的绝大多数来源被切断,因而要迅速蜕变,直到Pb210与少量的镭再度处于放射平衡,这时Pb210的蜕变正好等于镭蜕变所补足的为止。

模型假设

1)镭的半衰期为1600年,我们只对17 世纪的油画感兴趣,时经300多年,白铅中镭至少还有原量的90%以上,所以每克白铅中每分钟镭的衰变数可视为常数,用r表示。

2)钋的半衰期为138天容易测定,铅210的半衰期为22年,对要鉴别的300多年的颜料来说,每克白铅中每分钟钋的衰变数与铅210的衰变数可视为相等。

模型建立

 t时刻每克白铅中含铅210的数量为y(t);为制造时刻每克白铅中含铅210的数量;为铅210的衰变常数。则油画中铅210含量

模型求解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发。C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。在编写C程序时,需要注意变量的声明和定义、指针的使用、内存的分配与释放等问题。C语言中常用的数据结构包括: 1. 数组:一种存储同类型数据的结构,可以进行索引访问和修改。 2. 链表:一种存储不同类型数据的结构,每个节点包含数据和指向下一个节点的指针。 3. 栈:一种后进先出(LIFO)的数据结构,可以通过压入(push)和弹出(pop)操作进行数据的存储和取出。 4. 队列:一种先进先出(FIFO)的数据结构,可以通过入队(enqueue)和出队(dequeue)操作进行数据的存储和取出。 5. 树:一种存储具有父子关系的数据结构,可以通过中序遍历、前序遍历和后序遍历等方式进行数据的访问和修改。 6. 图:一种存储具有节点和边关系的数据结构,可以通过广度优先搜索、深度优先搜索等方式进行数据的访问和修改。 这些数据结构在C语言中都有相应的实现方式,可以应用于各种不同的场景。C语言中的各种数据结构都有其优缺点,下面列举一些常见的数据结构的优缺点: 数组: 优点:访问和修改元素的速度非常快,适用于需要频繁读取和修改数据的场合。 缺点:数组的长度是固定的,不适合存储大小不固定的动态数据,另外数组在内存中是连续分配的,当数组较大时可能会导致内存碎片化。 链表: 优点:可以方便地插入和删除元素,适用于需要频繁插入和删除数据的场合。 缺点:访问和修改元素的速度相对较慢,因为需要遍历链表找到指定的节点。 栈: 优点:后进先出(LIFO)的特性使得栈在处理递归和括号匹配等问题时非常方便。 缺点:栈的空间有限,当数据量较大时可能会导致栈溢出。 队列: 优点:先进先出(FIFO)的特性使得

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值