问题标签 [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 投票
2 回答
816 浏览

julia - 模拟弹跳球?

是否可以使用 Julia 的方程求解器创建一个简单的弹跳球模型?

我从这个开始:

这会产生有用的数字:

但不知何故,它需要在高度为 0 时进行干预,并反转速度。还是我走错了路?

0 投票
1 回答
719 浏览

julia - 在 Julia 中动画化求解 ODE

我有一个朱莉娅代码:

这导致: 下一个情节
我如何为这个情节制作动画,使其可以从 REPL 和 jupyter 中工作?

0 投票
1 回答
194 浏览

julia - Why both tableau and explicit solver in DifferentialEquations.jl?

I am looking through the DifferentialEquations.jl package. In DiffEqDevTools/src/ode_tableaus.jl I can see the tableaux for Midpoint and RK4.

But I can also see explicit code for these schemes in OrdinaryDiffEq/src/integrators/fixed_timestep_integrators.jl.

I sort of expected some code to use the tableaux rather than there being an explicit solver.

I am not sure how to check whether the tableau is being used. I tried removing OrdinaryDiffEq.jl but then my example would not run.

This rather suggests that the explicit code is being used. But in that case why does the tableau exist at all?

0 投票
1 回答
323 浏览

julia - 微分方程.jl 的问题

我对 Julia 很陌生,我目前正在学习如何用它来求解微分方程。我尝试运行 Christopher Rackauckas 的简单预制代码,但出现错误。代码可以在这里找到。我也写在这里:

我得到的错误如下所示:

LoadError: MethodError: 没有匹配 DiffEqBase.ODEProblem{uType,tType,isinplace,FC;MM}(::#f, ::Float64) 的方法

我还尝试运行其他类似的代码,甚至删除了 DifferentialEquations.jl -package 然后重新安装它,但没有任何改变。

任何更有经验的人知道我可能做错了什么?

0 投票
1 回答
810 浏览

matrix - 使用 Julia 中的 DifferentialEquations 包求解矩阵 ODE

我想解决:

[\mathbf{M} \ddot{ \mathbf{U} }+ \mathbf{C} \dot{ \mathbf{U} }+ \mathbf{K} \mathbf{U} = \mathbf{P}(t) ]

或者,以状态空间形式:

[\dot{\mathbf{Y}}=f(\mathbf{Y},t)]

在哪里:

[\mathbf{Y} = \left[ \begin{array}{ c} \mathbf{U} \ \dot{ \mathbf{U} \end{array} \right] ]

和:

[f( \mathbf{Y} ,t)= \left[ \begin{array}{ c} \dot{ \mathbf{U} }\ \mathbf{M}^{-1} \mathbf{P} (t )- \mathbf{M} ^{-1} \mathbf{C} \dot{ \mathbf{U} }- \mathbf{M} ^{-1} \mathbf{K} \mathbf{U} \end{数组} \right] ]

我在 Julia 中尝试了以下代码,使用

\mathbf{M} = \left[ \begin{array}{cc} 2&0\ 0&1 \end{array} \right];

\mathbf{C} = \left[ \begin{array}{cc} 0&0\ 0& 0 \end{array} \right];

\mathbf{K} = \left[ \begin{array}{cc} 96&-32\ -32& 32 \end{array} \right];

\mathbf{P} (t)= \left[ \begin{array}{ c} 10\ 10 \end{array} \right]

.

但是运行这些代码行会导致此错误:

我正在使用 Julia 版本。0.5.2。

请帮我。谢谢你。

0 投票
1 回答
265 浏览

error-handling - 使用DifferentialEquations.jl Julia包时出现方法错误

我正在尝试使用 DifferentialEquation.jl 包求解 ode45 微分方程,但出现方法错误。

代码给出了一个错误,上面写着:

MethodError:无法convert将 Array{Float64,2} 类型的对象转换为 Array{Float64,1} 类型的对象这可能是由于调用构造函数 Array{Float64,1}(...) 引起的,因为类型构造函数会下降返回转换方法。

我不明白我可能做错了什么,尽管我相信错误可能与 y0 有关(因为 typeof(y0) = Array{Float64,1})并且错误发生在 solve() 函数所在的行是。

感谢您事先提供的任何帮助!

0 投票
1 回答
362 浏览

julia - 未能执行微分代数方程的第一个示例

我正在使用 JuliaPro v0.6.0.1 和 JunoIDE,我尝试应用 DifferentialEquations.jl。为了运行第一个示例,我添加了包差分方程,后跟 using 语句。在下一步中,我复制了第一个示例:

我没有得到预期的图形,而是得到了消息:

此外,我在以下内容之后立即收到警告:using DifferentialEquations statement

我不明白。然而,最后一个警告涉及 StochasticDiffEq,而我正在应用一个普通微分方程问题。

任何帮助都会被占用

0 投票
1 回答
2451 浏览

julia - Julia DifferentialEquations.jl 速度

我正在尝试测试 Julia ODE 求解器的速度。我在教程中使用了洛伦兹方程:

一开始加载包大约需要 25 秒,而代码在 Jupyter 笔记本的 Windows 10 四核笔记本电脑上运行了 7 秒。我知道 Julia 需要先预编译包,这就是加载时间这么长的原因吗?我发现 25 秒无法忍受。此外,当我使用不同的初始值再次运行求解器时,运行时间(~1s)要少得多,这是为什么呢?这是典型的速度吗?

0 投票
1 回答
448 浏览

julia - 在 Julia 中为微分方程循环生成函数

以洛伦兹为例(JuliaDiffEq github

如果我必须在循环中生成方程,我会尝试在循环中连接字符串,然后将它们转换为函数。使用 Matlab 这可以工作(str2func)。对于 Julia,我迷路了(这实际上是我在 Julia 中尝试的第一件事)。我的第一次尝试是:

不起作用(你未定义;随后出现的错误行可能是由于使用此函数prob = ODEProblem(lorenz,u0,tspan) 引起的进入ODEProblem. 有人还请指导我到哪里可以找到 Julia 中的真正功能。


编辑1

我刚试过

这行得通。所以我知道这是一种工作方式。但我担心我可能偶然发现了“一条路”;不是首选方式。有没有比较熟悉的可以Julia评论一下。


编辑2

需要求解的方程组示例:

U是总和u[i](我从 1 到M;应该可以M在变量中设置 的值)。

0 投票
1 回答
1530 浏览

julia - Julia中的抛物线偏微分方程

我正在尝试使用 Julia 以数值方式求解抛物线偏微分方程,但我找不到任何可以提供帮助的可访问文档。

这是一个例子:t,x 是一维实数。我想解决 u(t,x)=[u1(t,x) u2(t,x)]; 你满足 PDE

du1/dt = d^2u1/dx^2 + a11(x,u) du1/dx + a12(x,u) du2/dx + c1(x,u)

du2/dt = d^2u2/dx^2 + a21(x,u) du1/dx + a22(x,u) du2/dx + c2(x,u)

在 Julia 中可以这样做吗?在 Matlab 中使用 pdepe 可以解决此类问题。