MATLAB: How to plot component curves for system of differential equations? I keep getting errors for this compartment model

ode45

F=@(t,x) [-4*x(1)+4*x(2); x(1)-6*x(2)+3*x(3)+2; x(1)+2*x(2)-8*x(3)+5];
[t,x]=ode45(F,[0 3], [0 10]);
plot(t, x(:,1), t, x(:,2), t, x(:,3))

Best Answer

You have to supply the same number of initial conditions to the ODE solver as you have variables in your ODE equation. Assuming you only want ‘x(3)’ to have anything in it at the start, this works:
[t,x]=ode45(F,[0 3], [0 0 10]);
The rest of your code is unchanged, although you might want to add this after your plot call:
legend('C_1(t)', 'C_2(t)', 'C_3(t)', 'Location','NE')
Related Question