问题标签 [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.
c - C 上的 Runge-Kutta 集成
所以我的代码有效,只是出于某种原因,我的代码总是运行两个 if 语句(两个 y 方程,无论我为第一个 fprintf 问题输入哪个数字)。此外,t,y 列总是比 t,y2 列长得多(编辑,即如果我输入 funt=1,t0=0,t1=10,inity=1,dt=0.1,我的 t,y 列有 100行和我的 t,yexact 列有 10 行)。此外,t,y 部分的 t 列对于第一个 if 语句(y 方程)全为零,对于第二个 if 语句(y 方程)全为一个数字。任何帮助将不胜感激。
java - 如何使用数组中的数据绘制图形并将其存储在文件中
我正在使用射击方法和龙格-库塔积分求解一个微分方程。因此,我的 Java 代码将生成大量数据,我将这些数据存储在数组中。我将使用这些数据数组来绘制很多很多图表,我想将这些图表存储在我的 D 驱动器上的文件中以进行分析。
我想知道是否应该学习如何在 Java 中绘制图形并将它们存储在文件中,或者是否应该使用 JFreeChart 等第三方软件。你对此事有何看法?
另外,我看到 JFreeChart 很受欢迎,但是有没有一些专门针对科学数值计算的软件?
python - 解决 Lotka Volterra Diff-EQ 的 RK4 实施
我试图了解我一起屠杀的代码有什么问题。下面的代码是我今天为求解 Lotka Volterra 微分方程(2 个系统)所做的众多实现之一,它是我带来的最接近预期结果的一个。
上面的代码产生以下输出
但是,如果我将from pylab import *
代码移到初始条件的正上方,我会得到正确的输出
为什么会发生这种情况,我该如何解决?
python - 需要帮助修复我的 RK4 实施
如果在实施方面更有经验的人能帮助我发现我当前代码中的逻辑缺陷,我将不胜感激。在过去的几个小时里,我一直坚持为以下 RK4 函数执行和测试各种步长来解决Lotka-Volterra 微分方程。
我尽了最大努力确保代码的可读性并注释掉关键步骤,所以下面的代码应该是清楚的。
当前输出在一小段时间内看起来“还可以”,然后“狂暴”。奇怪的是,当我选择较大的步长而不是较小的步长时,代码似乎表现得更好,这表明我的实现一定是错误的,或者我的模型可能是关闭的。我自己无法发现错误。
输出(错误):
这是所需的输出,可以通过使用 Scipys 集成模块之一轻松获得。请注意,在时间间隔 [0,50] 上,模拟似乎是正确的,然后每一步都会变得更糟。
c++ - 在 C++ 中实现 Runge Kutta 四阶
所以我应该首先说这是我第一次尝试可执行脚本,也是我的第一个 c++ 脚本。考虑到这一点,我的问题如下。我正在尝试创建一个脚本,该脚本将使用四阶龙格库塔方法集成抛射运动。目前我的脚本正在使用 Euler 方法并且工作得很好。然而,当我尝试实现我的 Runge Kutta 函数时,我得到了绝对的垃圾。
例如,通过我当前的欧拉积分,我得到以下信息:
然后我运行一个简单的 bash 脚本来测试各种初始角度
最后,我使用 gnuplot 脚本绘制我的结果
如前所述,我与上面显示的代码的欧拉集成产生了下图(我知道这是正确的)
但是,当我尝试更改代码以使用 Runge Kutta 时,就像我说的绝对垃圾一样。
c++ - 爆炸龙格库塔法
我一直在尝试构建一个 Runge Kutta 四阶积分器来模拟简单的弹丸运动。我的代码如下
这在 while 循环中调用
然而,与应该发生的事情相反,我的结果只是爆炸了。这里发生了什么?
python - python中Runge-Kutta 3(RK3)方法的终值系数是多少
抱歉,如果我对这个问题的措辞不好,也许有人可以提出更好的措辞,我会相应地改变。
因此,就 RK4 而言,以 x_old 作为时间 t 的初始 x 值的时间步长,我们有;
求解 RK3 的方程是什么样的?即,在这种情况下,k1、k2 和 k3 的系数值是多少?
我在网上找不到任何RK3的例子,所以很抱歉我不得不问这个问题......
谢谢!
python - python中的龙格库塔方法
这些是我编写的函数:
通过实现 lorenzPlot,它应该绘制使用 rk4(四阶龙格库塔法)获得的 fLorenz(洛伦兹方程组)的数值解。我在使用 fLorenz 函数时遇到问题。当我如上所述定义它并调用 lorenzPlot 时,我收到一条错误消息
我猜这与无法正确乘以数组有关。
但是,当我将 fLorenz 更改为
调用 lorenzPlot 给我一个错误,指出 fLorenz 需要 4 个参数,但只给出了 2 个。
此外,rk4 和 lorenzPlot 都适用于由奇异方程组成的函数。
我应该如何更改 fLorenz 以便它可以用作 rk4 和 lorenzPlot 中的 f?
c - 我需要帮助来改进我的 C 程序代码以使用 runge kutta 4 阶方法求解微分方程
请我需要有关交流代码的帮助。代码实际上运行 fyn,但我需要它做更多。该程序是使用 Runge Kutta 4 阶方法求解微分方程组的代码。长话短说,我需要的只是一种从界面输入问题的方法,而不是从代码内部输入。请提供任何帮助。
c++ - 每次运行循环时如何在for循环中更改对象
我试图将与此问题相关的细节保持在最低限度,但我肯定会扩展任何使我的帖子更清晰的内容。
我对 C++ 很陌生,所以请原谅我可能是一个明显的问题,我什至无法很好地表达这个问题,无法找到有用的搜索结果。
我最终试图为行星运动编写一个跨越式算法。我已经定义了一个名为planet的类
然后我有对象
我想编写一个 for 循环,它将遍历每个循环并从每个循环中获取一个特定的组件进行计算;计算牛顿的万有引力。我首先想测试如何从对象中获取特定组件。
我设想这就像
已经定义了 getvx()。例如,当我尝试 p1.getvx() 时,它工作正常。
所以我的问题是,我如何从 0 到 3 获得 j 的 p[j] 而无需输入 p0、p1 等?可以在 for 循环中完成吗,我缺少一些语法吗?