问题标签 [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.

0 投票
1 回答
283 浏览

numerical - 如何调用数值结果以在 Python 3 中使用 Runge-Kutta-4 集成 ODE?

我正在尝试以数值方式求解(对于 m_0)以下常微分方程:

w 和 dw/dx 的值已经使用 Runge-Kutta 4 阶在数值上找到了,k 是一个固定的因子。我编写了一个代码,在其中从外部文件调用 w 和 dw/dx 的值,然后将它们组织在一个数组中,然后在函数中调用该数组,然后运行集成。我的结果不是预期的:(,我不知道出了什么问题。如果有人能帮我一把,将不胜感激。谢谢!

0 投票
0 回答
499 浏览

matlab - 实施 Radau-IIA 方法

我正在寻找在 MATLAB 中执行 3 阶的 Radau-IIA 方法来解决 DAE 系统。这是我的系统(罗伯问题):

初始值为

Runge-Kutta 画面看起来像这样

(对不起,我不知道是否有可能在 StackOverflow 中编写 LaTeX 或其他东西)。

我不知道该怎么做..

0 投票
2 回答
176 浏览

c++ - 正确的 Runge Kutta 第 4 方法方法?

我有这个 runge kutta 代码。但是,有人提到我的方法是错误的。而且我真的无法从他那里理解为什么,所以这里的任何人都可以暗示为什么这种方式是错误的?

====编辑====

Vector3d 存储坐标,x,y,z。

GetAcceleration 返回每个 x、y 和 z 的加速度。

0 投票
2 回答
3304 浏览

python - Python:四阶龙格-库塔法

因此,我对四阶龙格库塔方法进行了编码,但我试图适应的部分是如果 [2t] 为偶数则 V_in(t) = 1 或如果 [2t] 为奇数则为 -1。

另外我不确定我是否应该返回这个等式:return 1/RC * (V_in - V_out)

这是问题所在:

问题 8.1

如果您能帮助我,将不胜感激!

0 投票
1 回答
261 浏览

python - 使用 RK4 显式求解 ODE

我的两个一阶微分如下

在哪里

我原来的方程式是

如何求解作为时间函数的 theta 并从 t=0 到 t=40 绘制。系统从静止开始theta = 0 and d(theta)/dt = 0

0 投票
1 回答
2575 浏览

matlab - MATLAB - 将欧拉方法转换为 Heun 方法

我看到了这个计算错误的欧拉方法:

我试图将该方法转换为 Heun 的方法——这是我的尝试:

但现在误差实际上增加了。有人可以告诉我我做错了什么以及如何解决吗?

0 投票
1 回答
129 浏览

matlab - 将 Runge-Kutta ODE 求解器从一阶调整为二阶

我有一个 Matlab 函数,用于对一阶 ODE 进行 Runge-Kutta4k 近似,我想对其进行调整以适用于二阶 ODE。有人可以帮助我开始吗?这是我对一阶 RK4K 的要求:

0 投票
2 回答
692 浏览

algorithm - 使用 Runge-Kutta 4 求解罗斯勒吸引子

我正在尝试使用 RK-4 获得罗斯勒吸引子系统的解决方案,参数 a=0.2,b=0.2,c=6 和初始条件 x0=-5.6,y0=0,z0=0。我尝试使用 Fortran 求解,但结果即使在 1000 次迭代后也只显示初始条件。我犯了什么错误?

0 投票
1 回答
623 浏览

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 数组。

0 投票
0 回答
270 浏览

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) 错误符号的解释可能有问题吗?