Решение дифференциальных уравнений в MATLAB
Есть следующий код:
T=[0 5];
y0=0.5;
Y0=[0,y0];
odefun=@(x) (-1).*exp(x)./(exp(x)+1)
[x,y]=ode45(odefun,T,Y0)
plot(x,y,'LineWidth',2)
grid on
xlabel 'x'
ylabel 'y'
Из-за чего происходит следующая ошибка?
error using odu Too many input arguments
Ответы (1 шт):
Автор решения: AVK
→ Ссылка
Из-за того, что у odefun должно быть два аргумента, время и вектор состояния:
odefun=@(t,x) (-1).*exp(x)./(exp(x)+1)