Is there an easy way to make numerical simulations of the ODE of the form dx1/dt=x1(2-x1-x2), dx2/dt=x2(3-x1-x2-x3) for any xn?
1 次查看(过去 30 天)
显示 更早的评论
I have tried doing for 'n=5' and here is my code; dx = @(t,x) [x(1); x(1)*(2-x(1)-x(2)); x(2); x(2)*(3-x(1)-x(2)-x(3)); x(3); x(3)*(3-x(2)-x(3)-x(4)); x(4); x(4)*(3-x(3)-x(4)-x(5)); x(5); x(5)*(2-x(4)-x(5))]; tspan=[0 15]; x0=[0 2 0 3 0 4 0 6 0 8]; [t,x] = ode45(@(t,x) dx(t,x), tspan, x0); figure(1) plot(t, x)
Can someone please check if this code is correct, if not, how can I improve if and for any 'n'?. Thanks in advance.
0 个评论
采纳的回答
Torsten
2018-4-5
n = 5;
tspan=[0 15];
x0 = [2 3 4 6 8];
[t,x] = ode45(@(t,x) derivatives(t,x,n), tspan, x0);
function dx = derivatives(t,x,n)
dx = zeros(n,1);
dx(1) = x(1)*(2-x(1)-x(2));
for i = 2:n-1
dx(i)=x(i)*(3-x(i-1)-x(i)-x(i+1));
end
dx(n) = x(n)*(2-x(n-1)-x(n));
end
Best wishes
Torsten.
3 个评论
Torsten
2018-4-5
All examples given here are with corresponding plot commands:
https://de.mathworks.com/help/matlab/ref/ode45.html
Best wishes
Torsten.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!