Could someone please explain why is that the (zero-input) response obtained using ode45 solver is different than the CCF (controllable canonical form) response as shown below? However, if the C matrix is changed to [1 0], the responses match.
eqn = m*diff(x,2) + b*diff(x,1) + k*x == Fa;
V = odeToVectorField(eqn);
M = matlabFunction(V,'vars',{'t','Y'});
ySol = ode45(M,[0 50],x0);
yValues_pos = deval(ySol,time,1);
yccf(i) = Cccf*expm(Accf*time(i))*x0;
plot(time,yValues_pos,'r--')
eqn = m*diff(x,2) + b*diff(x,1) + k*x == Fa;
V = odeToVectorField(eqn);
M = matlabFunction(V,'vars',{'t','Y'});
ySol = ode45(M,[0 50],x0);
yValues_pos = deval(ySol,time,1);
yccf(i) = Cccf*expm(Accf*time(i))*x0;
plot(time,yValues_pos,'r--')