У меня есть следующая система дифференциальных уравнений для моделирования в файле .m
:
function dx = odefun(t,x)
% display(x(1));
% y = 5;
dx = [x(2); - y - 3*x(2) - 2*x(1)];
end
Я моделирую систему, использующую другой файл .m
с кодом ниже:
[t,x] = ode45(@odefun, [0 10], [0;0]);
% display(x(:,1));
plot(t,x(:,1));
Моя проблема в том, что я хочу, чтобы значение параметра y
, которое является выходным сигналом моей системы, менялось на каждом временном шаге во время выполнения функции ode(...)
. Я попытался отправить другой аргумент, как это:
[t,x] = ode45(@odefun, [0 10], [0;0], [some_elements]);
function dx = odefun(t,x,y)
но я получаю ошибку: Not enough input arguments.
Правда в том, что я хочу, чтобы параметр y
принимал одно значение за каждый шаг по времени от вектора с сотней элементов. Любая помощь будет принята с благодарностью.