Im пытается получить MATLAB, чтобы отобразить график добычи против predetorMATLAB ошибка в строке с ode45
function [ output_args ] = Untitled(input_args)
options = odeset('RelTol', 1e-4, 'NonNegative', [1 2]);
[t,x] = ode45('lotka_volterra', [0 30], [2 1], options);
plot(t,x);
legend('prey', 'predators');
end
function dxdt = lotka_volterra(t,x)
a = 1.2;
b = 0.6;
d = 0.3;
gamma = 0.8;
dxdt = [0;0];
dxdt(1) = a * x(1) - b * x(1) * x(2);
dxdt(2) = d * x(1) * x(2) - gamma * x(2);
end
Дело в том, чтобы отобразить динамическую связь между популяциями двух видов, обитающих в той же среде.
Эти два производных (dxdt (1) и dxdt (2)) модели скорость изменения каждой популяции
Im tryint использовать метод Рунге-Кутта Интеграции, чтобы получить участок населения против времени , из двух видов
ошибка просто говорит:
Error in Untitled (line 3)
[t,x] = ode45(@(t,x) lotka_volterra, [0 30], [2 1]);
Im очень озадачен любая помощь будет большим
Вы уверены, что это то, что вся * * ошибка говорит? – excaza
О да, жаль, что есть еще. Сначала он сказал непризнанную двойную «lotka_volterra», затем я избавился от кавычек, он сказал, что не хватает аргументов, а затем добавляет аргументы, которые он говорит Попытка получить доступ к x (2); index за пределами границ, потому что numel (x) = 1. Ошибка в испытании> lotka_volterra (строка 16) dxdt (1) = a * x (1) - b * x (1) * x (2); –