В настоящее время я пытаюсь преобразовать код MATLAB в R и запустить al oop, чтобы найти производную уравнения.
MATLAB:
for i=1:length(x)
dx(i,:) = lorenz(0,x(i,:),sigma,beta,rho);
end
Мой попытавшийся код в R :
parameters <- c(s = 10, r = 28, b = 8/3)
state <- c(X = -8, Y = 7, Z = 27)
lorenz <- function(t, state, parameters) {
with(as.list(c(state, parameters)), {
dX <- s * (Y - X)
dY <- X * (r - Z) - Y
dZ <- X * Y - b * Z
list(c(dX, dY, dZ))
})
}
times <- seq(0.001, 1, by = 0.001)
out <- ode(y = state, times = times, func = lorenz, parms = parameters)
dx <- NULL
for (i in 1:1000){
dx[i,] <- lorenz(0,state[i,],parameters)
}
Я получаю сообщение об ошибке «Ошибка в состоянии [i,]: неверное число измерений», есть идеи, почему?