数学建模之欧拉算法(求解常微分方程)
时间:2021-08-09
本文章向大家介绍数学建模之欧拉算法(求解常微分方程),主要包括数学建模之欧拉算法(求解常微分方程)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
数学建模算法补充
常微分方程
欧拉算法
定义
定义:在数学和计算机科学中,欧拉方法,命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决数值常微分方程的最基本的一类显型方法(Explicit method)。
欧拉法是常微分方程的数值解法的一种,其基本思想是迭代。其中分为前进的EULER法、后退的EULER法、改进的EULER法。所谓迭代,就是逐次替代,最后求出所要求的解,并达到一定的精度。误差可以很容易地计算出来。
非线性方程都是所谓“解不出来”的,即使是\(\frac{\mathrm{ d}y}{\mathrm{d}x}=y^2+x^2\)。对于用微分方程解决实际问题来说,数值解法是一个重要的手段。
公式推导
设微分方程为
\[\begin{cases}
\frac{\mathrm{ d}y}{\mathrm{d}x}=f(x_n,y(x_n)),&a\leq x \leq b\\
y(a)=y_0
\end{cases}
\]
-
差商近似导数
若用向前差商\(\frac{y(x_{n+1})-y(x_n)}{h}\)代替\(y'(x_n)\)带入微分方程\(\frac{\mathrm{ d}y}{\mathrm{d}x}=f(x_n,y(x_n))\)中,可得
\[\frac{y(x_{n+1})-y(x_n)}{h} \approx f(x_n,y(x_n))\\ y(x_{n+1})=y(x_n)+hf(x_n,y(x_n)) \]
如果用\(y(x_n)\)的近似值\(y_n\)代入上式右端,所得结果作为\(y(x_{n+1})\)得近似值,记为\(y_{n+1}\),则有
\[y_{n+1}=y_n+hf(x_n,y_n),n=0,1,\cdots,N-1
\]
这样,微分方程的近似解可以通过求解下述式子来获得
\[\begin{cases}
y_{n+1}=y_n+hf(x_n,y_n),& n=0,1,\cdots,N-1\\
y_0=y(a)
\end{cases}
\]
算法缺点
欧拉算法简单地取切线地端点作为起点来计算,当步数增多时,误差会因积累而越来越大。因此,欧拉算法一般不用于实际计算。
原文地址:https://www.cnblogs.com/chrisng/p/15117870.html
- 实现WordPress提交评论的时删除该页面的WP-Super-Cache缓存的方法
- php自动生成百度开放适配PC页-手机页pattern对应关系sitemap.xml
- Linux系统最大文件打开数优化,解决Too many open files报错
- 【Dev Club 分享】安卓单元测试:What, Why and How
- WordPress记住评论用户信息的js版本,直接操作cookie无视缓存
- 禁止百度转码和百度快照缓存的META声明
- 单机MySQL数据库优化推荐的编译安装参数
- Linux网络实时流量监测工具iftop的安装使用
- Golang学习--GroupCache的使用
- 基于 Webpack & Vue & Vue-Router 的 SPA 初体验
- GO语言高并发学习心得体会例
- Go 语言实现的网络连接池:Pool
- go语言操作redis连接池的方法
- WebVR如此近 - three.js的WebVR示例程序解析
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法