问题标签 [differential-equations]
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.
plot - 动画点沿使用 ParametricPlot3D 获得的特定解的图的移动
我们有系统:
和初始条件:
我制作了具体的情节:
我知道如何选择一个随机点来绘制整个轨迹,但我找不到一种方法来动画沿着绘制的轨迹移动的点。在此特定示例中,该点应位于 t == 0 并一直移动直到 t == 2。
python - 解决 ODE 的 python 时出错
我有一个大学项目,要求我们使用 ODE 和 SciPy 的 odeint 函数模拟卫星接近火星。
我设法通过将二阶 ODE 转换为两个一阶 ODE 来在 2D 中模拟它。但是我被时间限制困住了,因为我的代码使用的是 SI 单位,因此可以在几秒钟内运行,而 Python 的 linspace 限制甚至不能模拟一个完整的轨道。
我尝试将变量和常量转换为小时和公里,但现在代码不断出错。
我遵循了这个方法:
http://bulldog2.redlands.edu/facultyfolder/deweerd/tutorials/Tutorial-ODEs.pdf
代码是:
我不知道如何从 PyLab 复制/粘贴错误代码,所以我拍摄了错误的 PrintScreen:
t=linspace(0.01,24.0,100) 和 xinit=array([0.001,5251]) 的第二个错误:
如果有人对如何改进代码有任何建议,我将不胜感激。
非常感谢!
matlab - 通过 Matlab 或计算求解耦合微分方程
通过 Mat-lab 或计算求解耦合非线性微分方程
我在mathematica中尝试过,但得到了一个非常复杂的解决方案。
我该如何绘制它?
我的初始条件是
此外,a 和 b 是常数。
在插入 a 和 b 的值之后,我必须绘制 x 和 y wrt t 。( a= 2 , b = 5 说)
c++ - 几秒钟后 C++ 代码运行缓慢
我有 C++ 代码可以数值求解偏微分方程。一切正常,但在前 10 次左右的迭代之后,代码开始运行慢约 3 倍。
一些可能相关的信息:
- 我正在使用包 Eigen 进行大量计算
- 我将大量数据存储在一个数组中(每次迭代大约 100000 个双精度值)
我不太了解计算机的工作原理或 C++ 编码,我想知道是否有人能指出我正确的方向,以便我可以解决这个问题。
如果有帮助,我也可以发布代码,但它很长。
matlab - 如何在 MATLAB 中求解这个微分方程?
微分方程为:
k的值为2,请问如何实现该功能并用ode45解决?
c++ - 限制 boost::odeint 集成的步数
假设我有以下boost::odeint
代码:
如何修改代码以使集成在一定数量的步骤后中断?我正在运行大量集成,并希望避免在集成任何特定系统上花费太多时间。
我曾考虑过使用integrate_n_steps()
,但这可能意味着集成会持续到我感兴趣的结束时间。
boost - 在 odeint 中设置当前状态
我想current_state
在 boost::odeint 中设置步进器。
我有以下 MWE:
这条线stepper.set_current_state(x);
是行不通的。有没有我可以用来完成此任务的命令?
我意识到我可能只使用:
但是目前还不清楚这是否真的是最好的策略,或者我是否丢失了步进器的一些内部状态(例如当前的步长或误差估计),最好保留这些状态。
math - 如何在“Mathematica”中绘制方向场?
我是mathematica的新手,我正在尝试学习如何使用它,我试图绘制一个方向场但我做不到,这是我的微分方程:
这是我尝试的一个例子:
f[x_, y_] := e^x + y
sol = DSolve[y'[x] == f[x, y[x]], y, x]
虽然我不知道这段代码是什么意思(用数学语言),但我设法从网上和这个网站上的一些例子和一些答案中收集了它。此代码似乎适用于某些功能,例如:
或其他简单的,但不适用于包含指数或三角函数的函数(并非总是如此 - 不知道为什么!)我想绘制我提供的函数和其他函数的方向场,但我不能很好地理解文档中心中的示例。请帮我解决这个问题,谢谢。
c++ - 绑定一个 odeint 变量
我正在使用 odeint 来模拟一个系统,其中有几个变量不应小于零。
是否有适当的方法将 odeint 中的变量绑定到特定范围?
matlab - 在 MATLAB 中使用 ode23:端点未给出值
我正在尝试在 MATLAB 中使用 ode23 求解微分方程,但在给定的问题中,给定的值与端点不同。例如:y'+y=2, y(0)=0, t on [-2,10]。ode23 需要 y0,但在这种情况下,我需要 y(0)=0 而不是 y(-2)=0。如何更改 ode23 的参数,以便它仍然告诉我区间 [-2,10] 上的值以及 y(0)=0 的值?