How to determine if equation is not feedback linearizable

Is there a MATLAB function that can determine if feedback is linearizabe or not from the state equations? eg Is this system linearizable?
x1dot = x2; x2dot = x^2 + ((x^3 +1)*u

 Accepted Answer

Hi @Ken
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]);
subplot(211)
plot(t1, x1(:,1)), grid on, title('Feedback Linearized system')
subplot(212)
plot(t2, x2(:,1)), grid on, title('Linear system')
%% Feedback Linearized system
function dxdt = ode1(t, x)
u = (- x(2)^2 - 2*x(2) - x(1))/(x(1)^3 + 1);
dxdt(1) = x(2);
dxdt(2) = x(2)^2 + (x(1)^3 + 1)*u;
dxdt = [dxdt(1)
dxdt(2)];
end
%% Linear system
function dxdt = ode2(t, x)
dxdt(1) = x(2);
dxdt(2) = - 2*x(2) - x(1);
dxdt = [dxdt(1)
dxdt(2)];
end

4 Comments

Thanks. Looks like any system can be made feedback linearizable - all it needs is to find a suitable control law?
Yes @Ken, this can be achieved by finding an appropriate feedback control law that cancels the nonlinearity and transforms the system into a linear one. However, in your example, we can only conclude that the system is locally feedback linearizable, as is not globally asymptotically stable.
If you find the control law and explanation helpful, please consider clicking 'Accept' ✔ on the answer and voting 👍 for it. Your support is greatly appreciated!
Thanks, accepted this answer. Just to confirm: The key criterion for feedback linearizability seems to be that u should be linear i.e. not u^2 or u^3 or say u/(1+u) ?
Hi @Ken
Here is the formal definition for feedback linearizable systems.
If a nonlinear system
can be transformed into this form
where the controllability matrix ctrb(A,B) has full rank via the change of variables
,
such that both x and z are diffeomorphic on a domain of interest 𝒟 containing the origin with , and is non-singular for all , then such nonlinear system is said to be feedback linearizable.
In other words, a feedback linearizable nonlinear system can be transformed into the linear system
by the state feedback control
.
Such feedback linearizable system is also called control-affine nonlinear system because it is linear in its control input but nonlinear in its states. However, not all control-affine systems are feedback linearizable.

Sign in to comment.

More Answers (0)

Products

Tags

Asked:

Ken
on 10 Mar 2025

Commented:

on 11 Mar 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!