我定义了一个ODE问题,该问题表示N
个物体的运动方程,每个物体具有2个自由度(例如x
和y
,速度为dxdt
和{ {1}}(总共4个自变量)。我已经能够使用OrdinaryDiffEq.jl求解具有初始条件的ODE,现在正尝试使用BoundaryValueDiffEq.jl求解具有时间依赖性边界条件的相同ODE。但是,我在正确定义初始猜测dydt
时遇到了麻烦。
以前,例如对于u0
,我一直将初始条件定义为
N = 10
,但BVP求解器需要一个向量来进行初始猜测。我尝试将4×10 Array{Float64,2}
定义为u0
(并修改ODE以相应地解压缩变量),但是在运行10-element Array{Array{Float64,2},1}
时,出现以下错误:
solve
即使我的输入是使用MethodError: no method matching Array{Float64,1}(::Array{Float64,2}). You might have used a 2d row vector where a 1d column vector was required. Note the difference between 1d column vector [1,2,3] and 2d row vector [1 2 3]. You can convert to a column vector with the vec() function.
定义的,我也会收到此错误。我是否对Julia中如何定义向量和/或BVP问题定义需要哪种vec()
有什么误解?我承认我对Julia来说还很陌生,对数组类型还不完全满意。