DifferentialEquation.jl 패키지로 ode45 미분 방정식을 풀려고하는데 메서드 오류가 발생합니다. 내가 오류가 대해서 typeof (Y0 이후 Y0 함께 할 수있는 뭔가를 (할 수도 있습니다 생각하지만,DifferentialEquations.jl Julia 패키지를 사용할 때 메서드 오류가 발생했습니다.
MethodError: Cannot
convert
an object of type Array{Float64,2} to an object of type Array{Float64,1} This may have arisen from a call to the constructor Array{Float64,1}(...), since type constructors fall back to convert methods.
는 내가 잘못된 일을 할 수있는 것을 얻을하지 않습니다
using DifferentialEquations
M = 400; m = 35;
C = 3e3; c = 300;
K = 50e3; k = 200e3;
A = 0.05; L = 0.5; vh = 13.9
MM = [M 0;
0 m] # mass matrix
CC = [C -C;
-C C+c] # damping matrix
KK = [K -K;
-K K+k] # stiffness matrix
w(t) = A*sin(2*pi*vh*t/L)
wd(t) = A*2*pi*vh*t/L*cos(2*pi*vh*t/L) # dw/dt
n = 2 # number of (original) equations
Mi = MM^(-1)
AA = [zeros(n,n) eye(n); -Mi*KK -Mi*CC]
f(t) = [0; c*wd(t)+k*w(t)] # force vector
g(t,y) = AA*y+[zeros(n,1); Mi*f(t)]
y0 = zeros(4) # initial conditions
tspan = (0.0, 0.5) # time span
prob = ODEProblem(g, y0, tspan) # defining the problem
solve(prob)
코드라는 오류가 있습니다) = Array {Float64,1})이며 solve() 함수가있는 행에서 오류가 발생합니다.
미리 도움 주셔서 감사합니다.
그래서 난 요청 된 변경이하지만 지금은 다음과 같은 오류가 않았다 나는 더욱 혼란 스러워요 : > MethodError : 어떤 방법 매칭 interp_summary (:: OrdinaryDiffEq.InterpolationData {# gg를 배열 {배열 {Float64, 1, 1}, Array {Float64,1}, Array {배열 {배열 {Float64,1}, 1}, 1}, OrdinaryDiffEq.Tsit5ConstantCache {Float64, Float64}}) – maikkirapo
그건 분명히 다른 문제입니다. [MWE] (https://stackoverflow.com/help/mcve)를 만들 수 있는지 확인한 다음 OrdinaryDiffEq.jl 또는 새로운 SO 질문에서 문제로 게시 할 수 있습니다. –
@maikkirapo 그 오류는 구버전의 인쇄 오류 일뿐입니다. 필자는 JuliaPro를 사용하지 않고'Pkg.update()'를 사용할 것을 제안합니다. –