I'm a little bit unexperienced in the area and wanna learn probably a
basic key issue about approximate linearization of nonlinear models
for control.
For an example if a process model is like "x1dot=square(x2) +..", then
I know that approximate linearization of the model is extracted via
taylor expansion,
but if the nonlinear model is like "x1dot=x2.x3 +..", how should I
realize the linearization?
Thank you in advance...
Explaining it by Taylor's expansion is one way.
What you're really trying to do is find the derivative around the
operating point for the whole state vector. So your
x1dot = x2 * x3
would linearize as
x1dot = x2(0) * x3 + x3(0) * x2,
where the x2(0) and x3(0) are the values of those two states at the
nominal operating point.
More formally (but still from memory, so I may not be quoting textbooks
exactly), if x is a vector, and if your system is described as
dx
-- = f(x, u, t)
dt
then your linearization would be
dx del |
-- = f(x(0), u, t) + ----- f(x, u, t) | ,
dt del x | x = x(0)
where the "del / del x" operation takes the Jordanian of the system
function.
This still isn't a perfectly linear system because you're adding in the
value of the system function at the operating point, but it's affine, and
pretty easy to turn into a linear system by replacing that expression
with some extra integrators, appropriately initialized.
Small correction: designating the derivative/Jacobian of f(x,u,t) with
respect to x as f'(x0,u,t)
the linearization would be
f(x0,u,t)+f'(x0,u,t)(x-x0)
Where the second term yields a linear correction; the Jacobian matrix
times a variation vector x0.
Ray