I am not aware of a specific function in MATLAB to test whether a system is feedback linearizable. However, the given system
can be made to behave like a linear system
if the following control law is applied:
such that
and the control signal can theoretically take on any value without limitations. [t1, x1] = ode45(@ode1, [0 10], [-0.99; 0]);
[t2, x2] = ode45(@ode2, [0 10], [-0.99; 0]);
plot(t1, x1(:,1)), grid on, title('Feedback Linearized system')
plot(t2, x2(:,1)), grid on, title('Linear system')
function dxdt = ode1(t, x)
u = (- x(2)^2 - 2*x(2) - x(1))/(x(1)^3 + 1);
dxdt(2) = x(2)^2 + (x(1)^3 + 1)*u;
function dxdt = ode2(t, x)
dxdt(2) = - 2*x(2) - x(1);