问题标签 [differentialequations.jl]

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 回答
167 浏览

julia - DifferentialEquations.jl 无法使用 Julia 1.5?

这是来自DifferentialEquations.jl文档的示例代码,每当我尝试运行它时,我都会得到UndefVarError: plot! 没有定义的

仅执行更简单的版本时会出现类似的错误

UndefVarError: ODEProblem 未定义

我运行了 status,这些是我在 Windows 10 上运行 Julia 1.5.1(今天首次安装)的当前版本:

0 投票
1 回答
92 浏览

julia - 在 Julia 中求解梯度依赖 ODE

我正在尝试使用 DifferentialEquation.jl 解决以下 ODE:

在此处输入图像描述

其中 P 是用于投影的矩阵。我很难想象如何解决这个问题。有没有办法使用 Julia 直接解决它?或者我应该尝试手动重新排列方程(我已经尝试过)以适应通常的微分方程格式?我已经开始写下一些可以在下面找到的方程式,但我并没有走得太远。

任何帮助表示赞赏并提前感谢。

0 投票
1 回答
208 浏览

julia - Julia中的二阶延迟微分方程

我是 Julia 编程的新手,我设法解决了一些一阶 DDE(延迟微分方程)和 ODE。我现在需要求解一个二阶延迟微分方程,但我没有找到有关它的文档(我以前使用过DifferentialEquations.jl)。

方程(其中 F 是函数,τ 是延迟):

方程的图像

我怎样才能做到这一点?


这是我使用给定信息的代码,系统似乎处于静止状态,这是不正确的。我可能做错了什么。

代码实际上是有效的!似乎是我的归一化常数不一致。谢谢!

0 投票
1 回答
33 浏览

julia - 状态间二元混合动力学的 Julia 微分方程

我对 Julia 很陌生,我正在考虑以下问题。我想解决(可能是刚性的)ODE 系统,它根据状态到状态的方法描述冲击波后面的流动松弛,这意味着分子物种的每个振动水平都被认为是伪物种及其连续性方程。在这里,我考虑了 N2/N 的二元混合物(实际上是 N=0 的浓度)。

我已将 julia 代码拆分为几个 .jl 文件。总的来说,我将 ODE 求解器称为如下:

其中 Y0_bar 和 xspan 已在前面定义,在 rpart.jl 文件中我定义了系统:

问题是,当我运行模拟并绘制解决方案时,它看起来好像什么也没发生,并且所有配置文件都相等且平坦。事实上,每个时间步的解都等于它自己。所以,我认为我在更新 u 和 du 时犯了一些错误,但我无法修复它。在 Matlab 版本中,我获得了正确的演变。

亲切的问候,洛伦佐

0 投票
1 回答
111 浏览

julia - 为什么 Julia (DifferentialEquations.jl) JumpProblem 在以后停止跳跃?

我正在尝试使用来自 DifferentialEquations.jl 的工具来实现离散随机模拟。它在早期的时间点上效果很好,但后来却莫名其妙地没有任何跳跃。

模拟图

我尝试保存所有位置,而不是仅保存每个整数。我尝试使用 Direct 而不是 DirectFW。我尝试使用默认而不是 SSAStepper。我检查了 ODESolution 对象,它确实只是在稍后的每个时间步重复相同的值;这不仅仅是情节。

非常感谢任何建议!

0 投票
1 回答
182 浏览

julia - 减少DifferentialEquations.jl 中的内存分配

我正在使用 DifferentialEquations.jl 来求解 ODE 系统,如下所示。结果并不真正相关,因为p仅包含用于生成 MWE 的测试参数,但关键是尽管使用了就地 ODE 函数,但我看到了很多内存分配。

由于我需要反复解决这个 ODE 系统,我想尽可能地减少分配,并且想知道是否可以对它们做任何事情。我一直想知道问题是否出在X并且Y已经尝试在 ODE 函数之外预分配这些,但不幸的是没有成功地以这种方式减少分配。

0 投票
1 回答
150 浏览

callback - 是否可以使用回调来访问 Julia 的微分方程集合问题中的单个轨迹?

我是 Julia 的新手,并尝试使用 Julia 包 DifferentialEquations 同时求解同一组耦合 ODE 的多个条件。我的系统是一个实验模型,在其中一种情况下,我在过程的中途增加了一个因变量的数量。

我希望能够调整这个单一轨迹的条件,但是到目前为止我只能一次调整所有轨迹。是否可以使用回调访问单个?如果没有,有没有更好的方法来做到这一点?

这是一个使用洛伦兹方程的简化示例,用于我想做的事情:

我想制作这样的东西:

Example_desired_outcome

但是这段代码会产生:

Example_current_outcome

谢谢您的帮助!

0 投票
1 回答
139 浏览

julia - 使用Julia中的DifferentialEquations包的具有离散强制函数的非齐次ODE

在Julia中,我想使用DifferentialEquations.jl包来解决

\ddot{u} + f(u,\dot{u},p) = g(t)

其中 g(t) 是在时间 t 的等距离瞬间给出的值向量。

这种情况与https://diffeq.sciml.ai/stable/tutorials/ode_example/中的情况不同, 其中强制函数 M(t) 是连续的。

这种情况的解决方案是按照

求解具有读入外强迫的 ODE 系统

但是,我不想插入强制函数 g(t),而是想尝试回调命令。

对于受到地面运动的二阶线性单自由度系统,我已经尝试过

但得到的结果并不令人满意。

有没有其他方法,不是插值g(t),而是使用回调,即PeriodicCallback、DiscreteCallback?

0 投票
1 回答
43 浏览

julia - Julia:什么时候在微分方程系统中输入真或假?

我从DiffEqFinancial.jl的源代码中汲取灵感来正确设置我自己的系统。我不明白下面代码片段的目的true和内容:false

那么在这种情况下做什么{true}和做什么呢?{false}

我想知道我是否也应该在我自己的用户代码中使用它。我隐约意识到“严格类型类型,松散类型功能”的格言,所以我想知道为什么要在这里打字。

0 投票
1 回答
58 浏览

julia - .= Julia 中的运算符

在代码中取自:https ://tutorials.sciml.ai/html/models/01-classical_physics.html ,如下所示:

我不明白 .= 运算符在函数谐波振荡器中的用法。使用 = 给了我错误的答案。所以,我想知道与 有什么.=不同=?它不是矢量化ddu的,因为 RHS 都是标量。