当前位置:首页|资讯|文心一言|编程

《数值方法:原理、算法及应用》第21课:常微分方程及其应用

作者:卢朓发布时间:2024-05-22

在 连续型模型-北太天元学习30 https://www.bilibili.com/read/cv25588712/?from=readlist 我们已经简单学习常微分方程.  今天我们将一起探讨常微分方程的数值解法以及它们在实际问题中的应用。在文章的最后, 我展示了如何使用文心一言为男追女数学建模,并且写出代码,最后用北太天元运行代码画图展示数值模拟结果. 

work hard(努力工作) or court favour(努力讨好)    


常微分方程是描述自然现象变化规律的重要工具,而在很多情况下,我们无法直接求得方程的解析解,这时候就需要借助数值解法来近似求解。 


首先,让我们来回顾一下什么是常微分方程。常微分方程是一个方程,它的unknown是一个函数, 而且涉及了这个函数的导数,它描述了函数随时间或其他自变量的变化规律。在现实生活中,很多问题都可以通过常微分方程来建模,比如物体的运动、化学反应的速率、疾病的传播等。


然而,很多复杂的常微分方程无法直接求解,这时候我们就需要借助数值解法。数值解法的基本思想是通过迭代的方式逐步逼近真实解。其中,欧拉法和龙格-库塔方法是两种常用的数值解法。


欧拉法是一种简单的数值解法,它通过在每个时间步长内对函数进行线性近似来求解微分方程。虽然欧拉法简单易行,但由于其近似方式的局限性,其精度相对较低。为了提高精度,我们可以采用更复杂的数值解法,如龙格-库塔方法。龙格-库塔方法通过在同一时间步长内多次采样并加权平均来逼近真实解,从而提高了求解的精度。除了欧拉法和龙格-库塔方法外,还有线性多步法、预测-校正法等更高级的数值解法,它们各有特点并适用于不同的场景。


接下来,我将向大家介绍一款国产科学计算软件——北太天元。北太天元是一款功能强大的科学计算软件,它提供了丰富的数学库和工具箱,包括常微分方程的数值解法。通过北太天元,我们可以方便地求解各种复杂的常微分方程,为科研和工程应用提供有力支持。


现在,让我们通过几个具体的应用实例来探讨常微分方程的数值解法在实际问题中的应用。首先是卫星轨道问题。通过建立适当的数学模型,我们可以描述卫星在地球引力作用下的运动轨迹。然后,我们可以利用数值解法来求解这个模型,从而预测卫星的轨道和运动状态。这对于航天器的设计和运行至关重要。北太天元和文心一言联合研究火箭卫星分离https://www.bilibili.com/read/cv34628042/?from=readlist


另一个例子是传染病模型,比如经典的SIR模型。SIR模型通过一组常微分方程描述了疾病在人群中的传播过程。我们可以利用数值解法来模拟疫情的传播趋势,为防控策略的制定提供科学依据。【lecture18-3-ode-SIR-model 介绍ODE的一个应用】 https://www.bilibili.com/video/BV1wm4y1c7Jo/?share_source=copy_web&;vd_source=2adc5aa7a702b808eb8b31dbd210f954

类似地,我们还可以应用常微分方程及其数值解法来研究人口增长模型、抑郁症模型等实际问题。【抑郁症和数学建模】 https://www.bilibili.com/video/BV1Z8411T7vp/?share_source=copy_web&;vd_source=2adc5aa7a702b808eb8b31dbd210f954


为了加深大家对数值解法的理解,接下来我将使用北太天元进行实际操作演示。我将展示一个简单的常微分方程模型的求解过程,让大家直观地看到数值解法的效果。

为了加深大家对使用常微分方程建模的理解, 我还将给大家展示如何通过和文心一言的对答使用常微分方程建模,

举例说明建模的过程,使用文心一言帮助: 

问题1: 

讲讲如何谈恋爱建立数学模型的,是一个常微分方程组, 男追女, 努力干事业, 还是努力讨好女生, 如何平衡这两个

回答: 

在探讨如何平衡追求女生与努力干事业的问题时,确实可以借鉴数学模型来进行分析。

    • 可以引入常微分方程组来描述男生追求女生和努力干事业之间的动态关系。

    • 例如,可以设定一个方程来描述男生在事业上的投入如何影响他的成功率a,另一个方程来描述他的追求行为X如何随时间变化,以及女生的回应Y如何受X和a的影响。

    • 通过求解这个方程组,可以找到一种最优的策略,使得男生在追求女生和干事业之间达到最佳的平衡。

综上所述,通过建立数学模型,特别是利用常微分方程组,男生可以更加理性地分析并优化自己在追求女生和努力干事业之间的时间和精力分配。这有助于提高追求女生的成功率,同时也能够促进个人事业的发展。

问题2: 那还是把男生追女生的常微分方程写出来吧

在尝试用常微分方程来描述男生追女生的过程时,我们需要做一些简化和假设,以便构建数学模型。请注意,这样的模型是高度简化的,并不能完全反映现实情况的复杂性。以下是一个可能的模型框架:

假设:

1. 设 L(t) 代表男生在时刻 t 对女生的“爱情值”或“吸引力”,这可以反映男生对女生的追求程度和女生对男生的好感度。

2. 男生可以通过两种主要方式来提高 L(t):一是通过努力干事业(用 W(t) 表示男生在事业上的努力程度),二是通过直接讨好女生(用C(t) 表示男生对女生的追求努力)。

3. 假设男生的总努力程度是有限的,即 W(t) + C(t) = T ,其中 T 是男生的总努力容量。

基于以上假设,我们可以构建一个常微分方程来描述 L(t) 的变化:

%5Cfrac%7BdL%7D%7Bdt%7D%20%3D%20%5Calpha%20W(t)%20%2B%20%5Cbeta%20C(t)%20-%20%5Cgamma%20L(t)

这里:

%5Calpha 是男生干事业对提升爱情值的效率系数。

%5Cbeta 是男生直接讨好女生对提升爱情值的效率系数。

%5Cgamma 是爱情值的自然衰减率,反映如果没有任何努力,爱情值会随时间自然减少。

这个方程表示,男生通过干事业和直接讨好女生可以增加对女生的吸引力,但如果停止努力,吸引力会逐渐下降。

为了解这个方程,我们还需要知道 W(t) 和 C(t) 的具体形式,这通常取决于男生的策略选择。例如,男生可能会选择在初期集中精力讨好女生,然后逐渐转向干事业,或者采用其他策略。

请注意,这个模型是非常简化的,并且基于许多假设。在现实生活中,人际关系的发展远比这个模型复杂,涉及到许多无法量化的因素,如个性、情感、信任等。因此,这个模型只能作为一个粗略的指南,而不能作为精确预测的工具。

问题3: 

应该写一个常微分方程组, L(t) 表示男生对女生的吸引力, 你上面写很好, 但是 W(t) 是它的努力, 他所取得成绩 S(t) 应该和W(t) 成正比, 然后L(t) 依赖于 S(t), , 如果S(t) 很小, 那么无论多么讨好,恐怕效果也不会好, 再修改一下模型

确实,考虑到男生的事业成绩对吸引力的影响是很重要的。我们可以进一步细化模型,将男生的事业成绩 S(t) 作为一个新的变量引入,并假设它与男生的努力 W(t) 成正比,同时吸引力 L(t) 依赖于成绩 S(t) 和讨好女生的努力 C(t)。

基于这些考虑,我们可以构建如下的常微分方程组:

1. 男生的事业成绩 S(t) 随时间的变化率与他在事业上的努力 W(t) 成正比,同时可能受到一些外部因素的影响而有所波动。我们可以假设:

%5Cfrac%7BdS%7D%7Bdt%7D%20%3D%20k_1%20W(t)%20-%20k_2%20S(t)

其中 k_1 是努力转化为成绩的系数,而 k_2 是成绩的自然衰减或市场、环境等因素导致的成绩下降系数。

2. 男生的吸引力 L(t) 依赖于他的事业成绩 S(t) 和讨好女生的努力 C(t) ,同时如果没有持续的努力,吸引力可能会逐渐下降。因此,我们可以假设:

%5Cfrac%7BdL%7D%7Bdt%7D%20%3D%20%5Calpha%20S(t)%20%2B%20%5Cbeta%20C(t)%20-%20%5Cgamma%20L(t)

其中 \alpha 是成绩对吸引力的影响系数,\beta 是讨好女生的努力对吸引力的影响系数,而\gamma 是吸引力的自然衰减率。

3. 考虑到男生的总努力是有限的,我们可以假设:

W(t) + C(t) = T

其中 T 是男生的总努力容量。

综上所述,我们的常微分方程组为:

%5Cbegin%7Bcases%7D%0A%0A%5Cfrac%7BdS%7D%7Bdt%7D%20%3D%20k_1%20W(t)%20-%20k_2%20S(t)%20%5C%5C%0A%0A%5Cfrac%7BdL%7D%7Bdt%7D%20%3D%20%5Calpha%20S(t)%20%2B%20%5Cbeta%20C(t)%20-%20%5Cgamma%20L(t)%20%5C%5C%0A%0AW(t)%20%2B%20C(t)%20%3D%20T%0A%0A%5Cend%7Bcases%7D

这个方程组描述了男生在追求女生过程中,事业成绩和吸引力如何随时间变化,并受到男生在事业和讨好女生方面努力分配的影响。通过求解这个方程组,我们可以分析不同策略下男生吸引力的变化趋势,从而为男生提供追求女生的优化建议。但请注意,这仍然是一个简化的模型,现实情况可能更为复杂。

问题4: 好的, 就现这样吧, 感觉还算合理的一个模型, 请给出具体的数值, 用北太天元(matlab)写一个代码来求解这个问题, 画出L(t) 和 S(t) 随着时间的变换, 当然, 这里的 W(t) 和 C(t) 需要至少给定一个, 因为 T = W(t)+C(t) 是一个常数, 那就 让W(t) = 0.8, C(t) = 0.2 试试看看, 让努力总量T =1 ,  这是特别简单的假设了, 当时仍然有一个策略的问题就是如何分配干事业和讨好, 这些和那些常微分方程组出现的一些参数的取值也有关系, 当然, 这个模型还存在如何量化吸引力的问题, 这个你就先看着取吧.

为了求解这个问题,我们需要为模型中的参数赋予具体的数值,并使用数值方法解常微分方程。以下是一个可能的参数集和相应的MATLAB代码,用于求解和绘制L(t)和S(t)随时间的变化。

首先,我们为模型参数赋予一些合理的数值:

  • (k_1 = 0.5):努力转化为成绩的系数

  • (k_2 = 0.1):成绩的自然衰减系数

  • (\alpha = 0.3):成绩对吸引力的影响系数

  • (\beta = 0.2):讨好女生的努力对吸引力的影响系数

  • (\gamma = 0.05):吸引力的自然衰减率

  • (T = 1):男生的总努力容量

  • (W(t) = 0.8):男生在事业上的努力分配

  • (C(t) = 0.2):男生在讨好女生上的努力分配

现在,我们可以使用MATLAB来求解这个常微分方程组并绘制结果。


这段代码首先定义了模型参数和常微分方程函数odeFunc,然后设置了初始条件和时间跨度。接着,它使用MATLAB的ode45函数来求解常微分方程,并绘制了S(t)和L(t)随时间的变化图。你可以运行这段代码来查看结果,并根据需要调整参数值来观察不同的动态行为

我用北太天元运行上面的代码, 得到如下的图



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1