微分方程的数值解法——Runge-Kutta (RK4)

Runge-Kutta (RK4)
  The Runge-Kutta (RK4) methods are used to solve the solution of the non-liner ordinary differential equation. Here, we will simply summary this method.
  Assume the Intial Value Piont (IVP) is satisfied:
y ′ = f ( t , y ) , y ( t 0 ) = y 0 ( 1 ) y\prime = f(t,y), \quad y(t_0)=y_0 \quad \quad (1) y=f(t,y),y(t0)=y0(1)
  The formulation of RK4 is given by:
y ( n + 1 ) = y n + h 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) ( 2 ) y_(n+1) = y_n + \frac{h}{6} (k_1+2k_2+2k_3+k_4) \quad \quad (2) y(n+1)=yn+6h(k1+2k2+2k3+k4)(2)

where,
k 1 = f ( t n , y n ) k 2 = f ( t n + h 2 , y n + h 2 k 1 ) k 3 = f ( t n + h 2 , y n + h 2 k 2 ) k 4 = f ( t n + h , y n + h k 3 ) k_1=f(t_n,y_n) \\ \quad \\ k_2=f(t_n+\frac{h}{2}, y_n+\frac{h}{2} k_1) \\ \quad \\ k_3=f(t_n+\frac{h}{2}, y_n+\frac{h}{2} k_2) \\ \quad \\ k_4=f(t_n+h,y_n+hk_3) k1=f(tn,yn)k2=f(tn+2h,yn+2hk1)k3=f(tn+2h,yn+2hk2)k4=f(tn+h,yn+hk3)
  Here, the k i k_i ki represent the slope of middle points of the variable time t t t. Will, the Runge-Kutta methods just be generalized by RK4.
  In this equation,the next value y n + 1 y_{n+1} yn+1 is decided by the current value y n y_n yn adds the time interval h h h and multiply an estimated middle point slope k k k weight averaged by the slope k i k_i ki:
  下一个值 y n + 1 y_{n+1} yn+1 由现在的值 y n y_n yn 加上时间间隔 h h h 和一个估算的斜率的乘积所决定。该斜率是以下斜率的加权平均:和一个估算的斜率 k k k 的乘积所决定。该斜率是以下斜率的加权平均:
k = k 1 + 2 k 2 + 2 k 3 + k 4 6 ( 3 ) k= \frac{k_1+2k_2+2k_3+k_4}{6} \quad \quad (3) k=6k1+2k2+2k3+k4(3)
k 1 k_1 k1 is the slope of the time beginning. (时间段开始时的斜率)
k 2 k_2 k2 is the slope of the middle time point.
  时间段中点的斜率,通过欧拉法采用斜率 k 1 k_1 k1 来决定 y y y 在点 t n + h / 2 t_n+h/2 tn+h/2 的值;
k 3 k_3 k3 is also the slope of the middle time point who’s calculated by slope k 2 k_2 k2 and the intial value y y y. (也是中点的斜率,但是这次采用斜率 k 2 k_2 k2 决定 y y y 值。)
k 4 k_4 k4 is the slope of the time ending. 时间段终点的斜率,其 y y y 值用 k 3 k_3 k3决定。

  RK4 法是四阶方法,也就是说每步的误差是 h 阶,而总积累误差为 h 阶。

注意 上述公式对于标量或者向量函数(y可以是向量)都适用。

Generalization (推广)

  The Runge-Kutta methods are generalized by RK4, which can be formulated as:
y n + 1 = y n + h ∑ i = 1 n b i k i ( 4 ) y_{n+1}=y_n+h \sum_{i=1}^{n} b_i k_i \quad \quad (4) yn+1=yn+hi=1nbiki(4)
where,
在这里插入图片描述
given the specific problem, the progression s s s and the coefficient a i j a_{ij} aij and c i c_i ci must be provided.

对于给定的一个特定的方法,必须提供整数 s s s(级数),以及系数 a i j a_{ij} aij(对于 1 ≤ j < i ≤ s 1 ≤j<i≤s 1j<is), b i b_i bi(对于 i = 1 , 2 , . . . , s i= 1, 2, ...,s i=1,2,...,s)和 c i c_i ci(对于 i = 2 , 3 , . . . , s i= 2, 3, ...,s i=2,3,...,s)。

The Runge-Kutta methods is self-consistent, if:
龙格库塔法是自洽的,如果:
∑ j = 1 i − 1 a i j = c i f o r i = 2 , … , s . ( 5 ) \sum_{j=1}^{i-1}a_{ij}=c_i \quad for \quad i=2,\dots,s. \quad (5) j=1i1aij=cifori=2,,s.(5)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/391311.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python-查找元素3(赛氪OJ)

[题目描述] 有n个不同的数&#xff0c;从小到大排成一列。现在告诉你其中的一个数x&#xff0c;x不一定是原先数列中的数。你需要输出最后一个<x的数在此数组中的下标。输入&#xff1a; 输入共两行第一行为两个整数n、x。第二行为n个整数&#xff0c;代表a[i]。输出&#x…

椭圆曲线加法运算

1. 定义 椭圆曲线 (Elliptic Curve) 不是函数&#xff0c;而是一条平面曲线&#xff0c;其方程是定义如下&#xff1a; y 2 x 3 a x b y^2x^3axb y2x3axb 其中&#xff0c;判别式 Δ − 16 ( 4 a 3 27 b 2 ) ≠ 0 \Delta -16(4a^327b^2)\neq 0 Δ−16(4a327b2)0。判别…

Java 并发编程:一文了解 synchronized 的使用

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 027 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…

keil编译报错error:#8:missing closing quote 处理

MDK5采用UTF-8&#xff0c;提示很多个这样的error:#8&#xff1a;missing closing quote 的错误信息。提供以下几种方式解决&#xff1a; 在KEIL中Options for Target Flash -> C/C -> Misc Controls添加“--localeenglish”。

49 序列解包的多种形式和用法

序列解包&#xff08;Sequence Unpacking&#xff09;是 Python 中非常重要和常用的一个功能&#xff0c;可以使用非常简洁的形式完成复杂的功能&#xff0c;提高了代码的可读性&#xff0c;减少了程序员的代码输入量。 x, y, z 1, 2, 3 # 多个变量同时赋值 v_tuple (False…

【课程系列07】某乎AI大模型全栈工程师-第7期

网盘链接 链接&#xff1a;百度网盘 请输入提取码 --来自百度网盘超级会员v6的分享 课程目标 学习完毕咱们可以收获什么种能力&#xff1a; 1、传统前端 后端 数据分析 产品 绘图 算法工程等工作&#xff0c;一个人都可以实现&#xff0c;实现超级个体的能力 2、可以解决…

【C语言】Top K问题【建小堆】

前言 TopK问题&#xff1a;从n个数中&#xff0c;找出最大&#xff08;或最小&#xff09;的前k个数。 在我们生活中&#xff0c;经常会遇到TopK问题 比如外卖的必吃榜&#xff1b;成单的前K名&#xff1b;各种数据的最值筛选 问题分析 显然想开出40G的空间是不现实的&#…

基于STM32的温湿度监控系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码主循环代码应用场景 家居环境监控工业环境监控常见问题及解决方案 常见问题解决方案结论 1. 引言 在智能家居和工业自动化中&#xff0c;温湿度监控系统是一个非常重要的组成部分…

Java企业微信服务商代开发获取AccessToken示例

这里主要针对的是企业微信服务商代开发模式 文档地址 可以看到里面大致有三种token&#xff0c;一个是服务商的token&#xff0c;一个是企业授权token&#xff0c;还有一个是应用的token 这里面主要有下面几个参数 首先是服务商的 corpid 和 provider_secret &#xff0c;这个可…

使用GCC编译Notepad++的插件

Notepad的本体1是支持使用MSVC和GCC编译的2&#xff0c;但是Notepad插件的官方文档3里却只给出了MSVC的编译指南4。 网上也没有找到相关的讨论&#xff0c;所以我尝试在 Windows 上使用 MinGW&#xff0c;基于 GCC-8.1.0 的 posix-sjlj 线程版本5&#xff0c;研究一下怎么编译…

快手商业化 Java后端 二面|面试官很nice

面试总结&#xff1a;没有那种纯八股问题&#xff0c;都是偏向于情景题。看到面试官最后出了一道多叉树的题目&#xff0c;我以为是想直接刷人&#xff0c;但还是尽力去尝试了一下&#xff0c;最后也没做出来&#xff0c;面试官很nice&#xff0c;在答不上来的时候会引导我去思…

JVM—垃圾收集算法和HotSpot算法实现细节

参考资料&#xff1a;深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践&#xff08;第3版&#xff09;周志明 1、分代回收策略 分代的垃圾回收策略&#xff0c;是基于这样一个事实&#xff1a;不同的对象的生命周期是不一样的。因此&#xff0c;不同生命周期的对象可以采取…

python实现小游戏——植物大战僵尸(魔改版本)

制作一款DIY的‘植物大战僵尸’游戏引起了很多人的兴趣。在这里&#xff0c;我将分享一个使用Python语言在PyCharm环境中开发的初始状态版本。这个版本主要应用了pygame库来完成&#xff0c;是一个充满创意和趣味的魔改版本。 文章目录 前言一、开发环境准备二、代码1.main方法…

Linux小组件:gcc

gcc 是C语言的编译器&#xff0c;在Linux下我们也用这个编译C语言 安装gcc sudo apt install build-essential 查看gcc版本信息 gcc --version 有时候会出现代码编译不过去的问题&#xff0c;通常可能是gcc的编译标准太低&#xff0c;不支持某些写法 比如在很多旧的编译标…

SQL注入实例(sqli-labs/less-4)

0、初始页面 1、确定闭合符号 前两条判断是否为数值型注入&#xff0c;后两条判断字符型注入的闭合符号 ?id1 and 11 ?id1 and 12 ?id1" ?id1") 2、确定表的列数 ?id1") order by 3 -- 3、确定回显位置 ?id-1") union select 1,2,3 -- 4、爆库…

【kali靶机之serial】--反序列化漏洞实操

kali靶机配置 【我图片里没有截图的默认配置即可】需要改的地方图片里面都有。 使用kali扫描网关的主机。 扫到一个开放了80端口HTTP协议的主机ip 访问80端口 会看到一个文本页面&#xff0c;翻译一下看是什么意思。。 F12查看cookie&#xff0c;是一个base64编码了的东西 使…

新手小白学习PCB设计,立创EDA专业版

本教程有b站某UP主的视频观后感 视频链接&#xff1a;http://【【教程】零基础入门PCB设计-国一学长带你学立创EDA专业版 全程保姆级教学 中文字幕&#xff08;持续更新中&#xff09;】https://www.bilibili.com/video/BV1At421h7Ui?vd_sourcefedb10d2d09f5750366f83c1e0d4a…

指标一致化处理

什么是数据指标 数据指标有别于传统意义上的统计指标&#xff0c;它是通过对数据进行分析得到的一个汇总结果&#xff0c;是将业务单元精分和量化后的度量值&#xff0c;使得业务目标可描述、可度量、可拆解。 数据指标有哪些类型 极大型:期望取值越大越好&#xff1b; 极小…

Memcached未授权访问漏洞

Memcached 是一套常用的 key-value 分布式高速缓存系统&#xff0c;由于 Memcached 的安全设计缺陷没有权限控制模块&#xff0c;所以对公网开放的Memcache服务很容易被攻击者扫描发现&#xff0c;攻击者无需认证通过命令交互可直接读取 Memcached中的敏感信息。 app"Mem…

AI电销机器人的效果与作用

ai电销机器人的工作效率是非常高的&#xff0c;电销机器人一天的外呼量至少是3000左右&#xff0c;工作效率是人工的十倍还多&#xff0c;并且电销机器人没有负面情绪&#xff0c;一直都可以保持高昂的工作热情&#xff0c;非常简单方便。 并且ai电销机器人是越用越聪明的&…