常微分方程求解方法

文章目录

  • (1)初值问题(给某一点的函数值或者微分值)
    • 1.初值问题(给某一点的函数值或者微分值)
  • (2)边值问题(给定在一个区域的边界上的函数值或微分值)
    • 1.试射法
    • 2.有限差分法

(1)初值问题(给某一点的函数值或者微分值)

1.初值问题(给某一点的函数值或者微分值)

  • 问题类型:
    dydx=f(x,y)y(x0)=y0\frac{dy}{dx}=f(x,y)\\ ~~\\ y(x_0)=y_0dxdy​=f(x,y)  y(x0​)=y0​
  • 注意初值的个数不能少于阶数。
  • 求解方法:
    • 欧拉法
    • 龙格库塔法
    • 预测校正法

(2)边值问题(给定在一个区域的边界上的函数值或微分值)

  • 问题类型:
    d2ydx2=f(x,y,dydx)y(a)=α,y(b)=β\frac{d^2y}{dx^2}=f(x,y,\frac{dy}{dx})\\ ~~\\ y(a)=\alpha,y(b)=\betadx2d2y​=f(x,y,dxdy​)  y(a)=α,y(b)=β

1.试射法

  • 先猜初值,再使用迭代法寻找正确的初值。
  • 一个例子:

d2ydx2=yy(0)=0,y(1)=1\frac{d^2y}{dx^2}=y\\ ~~\\ y(0)=0,y(1)=1dx2d2y​=y  y(0)=0,y(1)=1

  • 拆分: dydx=y1dy1dx=y\frac{dy}{dx}=y_1\\ ~~\\ \frac{dy_1}{dx}=ydxdy​=y1​  dxdy1​​=y
  • 注意这里仅有yyy的初值,因此这里首先就要求解出y1y_1y1​的初始,然后通过初值问题的解法就可以求解。
  • 猜 y1(0)=0→y(1)=0y_1(0)=0\rightarrow y(1)=0y1​(0)=0→y(1)=0 不符合题设,猜y1(0)=0→y(1)=1.122532y_1(0)=0\rightarrow y(1)=1.122532y1​(0)=0→y(1)=1.122532 不符合题设,最终可以求出当 y1(0)=0.890843y_1(0)=0.890843y1​(0)=0.890843 时 y(1)=1y(1)=1y(1)=1。

2.有限差分法

  • 核心:根据泰勒公式的思想进行直接的差分公式的替换d2ydx2=yi+1−2yi+yi−1h2dydx=yi+1−yi−12h\frac{d^2y}{dx^2}=\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}\\ ~~\\ \frac{dy}{dx}=\frac{y_{i+1}-y_{i-1}}{2h}dx2d2y​=h2yi+1​−2yi​+yi−1​​  dxdy​=2hyi+1​−yi−1​​
  • 线性常微分方程

    d2ydx2+P(x)dydx+Q(x)y=R(x)y(a)=α,y(b)=β\frac{d^2y}{dx^2}+P(x)\frac{dy}{dx}+Q(x)y=R(x)\\ ~~\\ y(a)=\alpha,y(b)=\betadx2d2y​+P(x)dxdy​+Q(x)y=R(x)  y(a)=α,y(b)=β

  • 在xix_ixi​点处代入差分公式yi+1−2yi+yi−1h2+P(xi)yi+1−yi−12h+Q(xi)yi=R(xi)\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}+P(x_i)\frac{y_{i+1}-y_{i-1}}{2h}+Q(x_i)y_i=R(x_i)h2yi+1​−2yi​+yi−1​​+P(xi​)2hyi+1​−yi−1​​+Q(xi​)yi​=R(xi​)
  • 整理可得(1+h2Pi)yi+1+(h2Qi−2)yi+(1−h2Pi)yi−1=h2Ri(1+\frac{h}{2}P_i)y_{i+1}+(h^2Q_i-2)y_i+(1-\frac{h}{2}P_i)y_{i-1}=h^2R_i(1+2h​Pi​)yi+1​+(h2Qi​−2)yi​+(1−2h​Pi​)yi−1​=h2Ri​
  • 最后代入所有的点,得到一个线性方程组,然后通过线性方程组的求解可得。
  • 注意y(a)=α,y(b)=βy(a)=\alpha,y(b)=\betay(a)=α,y(b)=β也是这个线性方程组方程的一部分,如果给出的是dydx∣x=a=α,dydx∣x=b=β\frac{dy}{dx}|_{x=a}=\alpha,\frac{dy}{dx}|_{x=b}=\betadxdy​∣x=a​=α,dxdy​∣x=b​=β就要通过对边界量求差分,将边界量引入到差分方程中,比如已知x4x_4x4​和x0x_0x0​处导数值,就要引入x−1x_{-1}x−1​和x5x_5x5​。

微分方程求解一(常微分方程求解)相关推荐

  1. 微分方程求解 matlab,4MATLAB常微分方程求解.ppt

    4MATLAB常微分方程求解 MATLAB微分方程 1 求简单微分方程的解析解 2 求微分方程的数值解 3 建模实例 1 求简单微分方程的解析解 求微分方程(组)的解析解命令: dsolve('方程1 ...

  2. MATLAB 数学应用 微分方程 常微分方程 求解非刚性ODE

    本文介绍两个使用 ode45 来求解非刚性常微分方程的示例.MATLAB拥有三个非刚性 ODE 求解器. ode45 ode23 ode113 对于大多数非刚性问题,ode45 的性能最佳.但对于允许 ...

  3. 2.0.高等数学3-一阶常微分方程求解

    一阶常微分方程求解 问题引入 一阶微分方程的几种情形 可分离变量方程 齐次微分方程 解齐次微分方程例3 例4 一阶线性微分方程标准形式 一阶非齐次线性微分方程 通解公式 伯努利方程 三级目录 问题引入 ...

  4. python求解一阶常微分方程

    一.用python求解一阶常微分方程 1.求解微分方程需要用到scipy库,pycharm中安装即可,同时需要导入numpy库和matplotlib两个库 2.使用scipy.integrate.od ...

  5. python解常微分方程龙格库_求解二阶常微分方程的RungeKutta四阶方法

    我试着做一个简谐振子的例子,它将用龙格-库塔四阶法求解.要求解的二阶常微分方程(ODE)和初始条件为: y''+y=0 y(0)=0和y'(0)=1/pi 范围在0到1之间,共有100步.我用u作为辅 ...

  6. 二阶边值问题的数值解matlab,二阶线性微分方程边值问题的MATLAB求解

    2012 年 3 月第 26 卷 第 1 期 阴 山 学 刊 YINSHAN ACADEMIC JOURNAL Mar. 2012 Vo1. 26 No. 1 二阶线性微分方程边值问题的 MATLAB ...

  7. Simulink基础【1】-弹簧-阻尼模型的常微分方程求解

    Simulink基础[1]-弹簧-阻尼模型的常微分方程求解 0. Simulink模块是什么?能干什么? 1. 弹簧阻尼模型简介 1.1 受常力的弹簧阻尼模型 1.2 动力学方程 2. simulin ...

  8. 一阶欧拉近似matlab,MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程.doc

    MATLAB改进欧拉法与四阶龙格-库塔求解一阶常微分方程 姓名:樊元君 学号:2012200902 日期:2012.11.06 一.实验目的 掌握改进欧拉法与四阶龙格-库塔求解一阶常微分方程的初值问题 ...

  9. 视频教程-三课时精通matlab常微分方程求解-Matlab

    三课时精通matlab常微分方程求解 图像和算法等领域有多年研究和项目经验:指导发表科技核心期刊经验丰富:多次指导数学建模爱好者参赛. 宋星星 ¥12.00 立即订阅 扫码下载「CSDN程序员学院AP ...

  10. Matlab:Matlab编程语言应用之数学计算(求极限/渐近线求导数常微分方程求解求微分方程组的解求临界阻尼系数的解)的简介、案例实现之详细攻略

    Matlab:Matlab编程语言应用之数学计算(求极限/渐近线&求导数&常微分方程求解&求微分方程组的解&求临界阻尼系数的解)的简介.案例实现之详细攻略 目录 三.极 ...

最新文章

  1. 搭建gitlab服务器
  2. windows10环境下安装Anaconda环境
  3. boost::units模块测试元函数 is_unit, is_quantity, is_dimension_list ....
  4. RabbitMQ入门(四)-Routing(路由)
  5. Codeforces 920E-Connected Components? (set,补图,连通块)
  6. rsa算法c语言实现_数据结构与算法之线性表-顺序表实现(C语言版本)
  7. 自动化运维-Ansible (第三部:Playbook 介绍)
  8. nullnullicon 小图标
  9. 苹果或在2021年新iPhone上增加屏下Touch ID
  10. VS中的多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)的区别(转载)
  11. 【原创】rabbitmq-echopid用户手册(翻译)
  12. 计算机的典型网络地址 特殊0.0.0.0 本机127.0.0.1 内网192.168.xxx.xxx 172.xxx.xxx.xxx 10.xxx.xxx.xxx 外网
  13. Hugging Face Course-Diving in 抱抱脸 Tokenizers library (Introduction BPE)
  14. 用电机进行简单的PID参数整定
  15. 网络协议之ONVIF搜索(Probe)
  16. 神通数据库分页查询sql
  17. debian7开机启动
  18. Excel如何快速隔行插入空行
  19. 个人项目总结 (By Jun Guo)
  20. 知物由学 | 未来50年网络安全行业发展愿景

热门文章

  1. php校花评比排名,2018大学校花排名出炉,清华高冷,人大“小郑爽”,你pick谁?...
  2. 【游戏数据库】大型网络游戏数据库设计方面讨论?(微软平台) 游戏数据库
  3. [springboot 开发单体web shop] 1. 前言介绍和环境搭建
  4. 依行科技日常实习面经
  5. Cabbage教学(4)——面向对象编程
  6. 机器视觉打光方式相关问题汇总
  7. 5大国外广告联盟赚美金项目,诱人的美金在向你招手!
  8. GPU与CPU的区别
  9. 传奇服务器容易受到什么攻击,怎么防御攻击?
  10. 王建农老师昆笛 + 简谱