首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数学建模组队学习02---微分方程和动力系统(二)

数学建模组队学习02---微分方程和动力系统(二)

作者头像
阑梦清川
发布2025-02-24 14:24:20
发布2025-02-24 14:24:20
3140
举报
文章被收录于专栏:学习成长指南学习成长指南
以下内容还是来自于我们的datawhale开源学习组织(提前声明),大家也可以使用线上资源进行自主学习~~

1.微分方程理论基础

1.1微分和导数

现在这个时间节点,大学生应该都是学习了这个高等数学的,即使是大一的新生,也是可以看懂下面的这个图的,实际上就是我们的x有一个微小的变化量的时候,我们的y也会出现一个变化,我们的微分描述的就是这个Y轴上面的变化量和我们的x变化量之间的这个关系;

image-20250122233903706
image-20250122233903706

1.2一阶线性微分方程

下面的这个内容属于我们的高等数学里面的微分方程这个章节的内容,下面的这个我放的是最简单的一类方程,就是我们的一阶线性微分方程,还有二阶常系数微分方程; 这个里面涉及我们的特征根,通解和特解相关的这个说明把,我这里就不详细的说明,我觉得这个部分用到再去巩固完全来得及,因为我一直认为我们学习的这个微分方程真的很肤浅,并没有上升到这个应用的层面,所以如果真的是建模需要使用微分方程求解,这个对于我们的能力的要求远比这个高等数学里面的那个章节的学习要求更高;

image-20250122234456079
image-20250122234456079

2.Python求解定积分

1)下面的这个第5行里面的就是我们的函数,求解这个函数的定积分;

2)quad就是调用系统里面的函数,这个函数的作用就是求解指定的区间上面的定积分;

这个第一个参数就是我们的函数,第二个参数求解的积分区域的初始值,第三个参数是积分区域的终止值;

前面的两个参数就是我们的这个quad函数的返回值;

image-20250122235129467
image-20250122235129467

3.Python求解导数

1)第四行就是定义函数,两个**表示的就是x的平方,我们对于这个函数求导数;

2)第8行就是求解在x=1位置处的导数值

image-20250122235324553
image-20250122235324553

4.Python求解微分方程解析解

image-20250123000356097
image-20250123000356097

我们看一下这个代码:

1)这个里面需要使用到一个模块sympy,如果你之前没有,需要在这个pycharm终端里面进行手动的安装;

2)首先需要定义这个y和x,即这个程序里面的2,3行作的事情;

3)第四行就是定义上面的这个微分方程,fiff表示的就是这个阶数,x,2表示的就是y对于x的二阶导,以此类推,这个eq里面的第二个参数就是我们的等式右边的x^2;

image-20250123000441161
image-20250123000441161

4)因为我们没有初始条件所以这个里面会出现c1,c2之类的数字:

image-20250123000724470
image-20250123000724470

5.Python求解常微分方程组

image-20250123001050311
image-20250123001050311

5.1一个注意事项

这个教程没有说明,但是我自己练习的时候注意到了这个地方,就是直接cv代码会发现报错:

1)symbols是一个工具,作用就是进行这个变量的定义,而且这个工具在我们的sympy里面,所以我们需要先import sympy包包

image-20250123001245355
image-20250123001245355

修改之后的代码如下:

image-20250123001419693
image-20250123001419693

5.2代码说明

1)定义变量t,使用symbols工具定义;

2)eq就是我们上面需要求解的常微分方程组;4

3)con里面就是相关的初始条件说明;

4)dsolve参数就是表示的,求解这个eq方程组,初始条件就是我们的con里面的内容;

image-20250123001419693
image-20250123001419693

5.3矩阵求解

1)首先第6行里面的A就是我们的系数矩阵;

2)eq实际上即使在描述这个方程组,x.diff(t)表示的就是x对于t的微分,也就是导数;

3)A*x实际上就是我们的系数矩阵和未知参数的线性组合,我们把求解微分方程组的问题转化为求解线性方程组,使用矩阵求解,得到相同的结果;

示的就是x对于t的微分,也就是导数;

3)A*x实际上就是我们的系数矩阵和未知参数的线性组合,我们把求解微分方程组的问题转化为求解线性方程组,使用矩阵求解,得到相同的结果;

image-20250123001840460
image-20250123001840460
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 以下内容还是来自于我们的datawhale开源学习组织(提前声明),大家也可以使用线上资源进行自主学习~~
  • 1.微分方程理论基础
    • 1.1微分和导数
    • 1.2一阶线性微分方程
  • 2.Python求解定积分
  • 3.Python求解导数
  • 4.Python求解微分方程解析解
  • 5.Python求解常微分方程组
    • 5.1一个注意事项
    • 5.2代码说明
    • 5.3矩阵求解
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档