问题标签 [runge-kutta]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
numerical - 如何调用数值结果以在 Python 3 中使用 Runge-Kutta-4 集成 ODE?
我正在尝试以数值方式求解(对于 m_0)以下常微分方程:
w 和 dw/dx 的值已经使用 Runge-Kutta 4 阶在数值上找到了,k 是一个固定的因子。我编写了一个代码,在其中从外部文件调用 w 和 dw/dx 的值,然后将它们组织在一个数组中,然后在函数中调用该数组,然后运行集成。我的结果不是预期的:(,我不知道出了什么问题。如果有人能帮我一把,将不胜感激。谢谢!
matlab - 实施 Radau-IIA 方法
我正在寻找在 MATLAB 中执行 3 阶的 Radau-IIA 方法来解决 DAE 系统。这是我的系统(罗伯问题):
初始值为
Runge-Kutta 画面看起来像这样
(对不起,我不知道是否有可能在 StackOverflow 中编写 LaTeX 或其他东西)。
我不知道该怎么做..
c++ - 正确的 Runge Kutta 第 4 方法方法?
我有这个 runge kutta 代码。但是,有人提到我的方法是错误的。而且我真的无法从他那里理解为什么,所以这里的任何人都可以暗示为什么这种方式是错误的?
====编辑====
Vector3d 存储坐标,x,y,z。
GetAcceleration 返回每个 x、y 和 z 的加速度。
python - Python:四阶龙格-库塔法
因此,我对四阶龙格库塔方法进行了编码,但我试图适应的部分是如果 [2t] 为偶数则 V_in(t) = 1 或如果 [2t] 为奇数则为 -1。
另外我不确定我是否应该返回这个等式:return 1/RC * (V_in - V_out)
这是问题所在:
如果您能帮助我,将不胜感激!
python - 使用 RK4 显式求解 ODE
我的两个一阶微分如下
和
在哪里
我原来的方程式是
如何求解作为时间函数的 theta 并从 t=0 到 t=40 绘制。系统从静止开始theta = 0 and d(theta)/dt = 0
。
matlab - MATLAB - 将欧拉方法转换为 Heun 方法
我看到了这个计算错误的欧拉方法:
我试图将该方法转换为 Heun 的方法——这是我的尝试:
但现在误差实际上增加了。有人可以告诉我我做错了什么以及如何解决吗?
matlab - 将 Runge-Kutta ODE 求解器从一阶调整为二阶
我有一个 Matlab 函数,用于对一阶 ODE 进行 Runge-Kutta4k 近似,我想对其进行调整以适用于二阶 ODE。有人可以帮助我开始吗?这是我对一阶 RK4K 的要求:
algorithm - 使用 Runge-Kutta 4 求解罗斯勒吸引子
我正在尝试使用 RK-4 获得罗斯勒吸引子系统的解决方案,参数 a=0.2,b=0.2,c=6 和初始条件 x0=-5.6,y0=0,z0=0。我尝试使用 Fortran 求解,但结果即使在 1000 次迭代后也只显示初始条件。我犯了什么错误?
python - 为什么我的 Runge-Kutta Python 脚本以这种异常方式定义数组元素?
我是 Python 的新手,我对编程语言的了解还处于初级阶段,所以我复制了此处显示的 Runge-Kutta Python 脚本并根据我的目的对其进行了修改。这是我当前的脚本:
你可以忽略前几行中的 g 和 l 变量,我本来打算求解单摆的问题,但后来我记得这是一个一阶 ODE 求解器,所以现在我的 ODE 是dy/dx=-y
. 我一直在 IPython 中运行它。我期待T
成为一个数组,基本上相当于linspace(0,pi,N+1)
MATLAB 中的数组。所以 T 是一组 N+1 均匀间隔的值,介于(包括)0 和 pi 之间,但这是其内容的样本(作为 running 的输出T
):
(包括输入和输出行,以提供一些关于我在这里指的是什么的上下文,以防不清楚)。哦,顺便说一句,如果你想知道为什么我没有使用T=np.linspace(a,b,num=N+1)
它而不是在这个循环中定义它,那是因为这给出了类似不寻常的 T 数组。
python - 使用 scipy.signal.lsim2 时精度丢失
我目前正在尝试实现 RK4 例程。在此过程中,我正在努力匹配精度顺序,发现scipy.signal.lsim2()
即使使用来自 ODEPACK 的 LSODA(它应该甚至比 RK4 更好)也会遇到同样的问题。
这将打印:
由于 RK4 是 4 阶求解器,并且 LSODA 正在运行更多步骤,我不应该获得更好的精度吗?
为了完整起见,我也用 完成了所有scipy.integrate.ode()
操作,将积分器设置为“dopri5”(显式 (4)5 阶 Runge-Kutta Dormand-Prince):
哪个打印:
最后,问题是:实施是否有任何问题,lsim2()
或者那些错误级别是预期的?错误不应该低于h^4 = 3.90625e-11
吗?我检查了大部分代码,没有发现任何问题。我还与我手工制作的 RK4 函数进行了比较,它也出现了 Xe-06 错误。我对 O(h^5) 和 o(h^4) 错误符号的解释可能有问题吗?