# Linear and nonlinear model outputs are different using the same input

I'm working on something in nonlinear control, and we want to compare the output of the obtained linear model (state space form using steady state data) w.r.t the nonlinear model.

Attached is a screenshot of the obtained results. Please note that the linear model was obtained using steady state linearisation. $$u_0=0.2211, x_0=\begin{bmatrix}876\\17137\end{bmatrix}$$.

The simulation results show that from 0 to 20s, the required control input to maintain the steady state points is 0.2211. However, when looking at the results obtained from the linear system, we can clearly see, the control input of 0.2211 gives a lower response $$x$$. Please let me know your thoughts, I believe I'm missing something here? thank you.

Here's the link to the model from Github (It requires installing the T-MATS toolbox) Link

• Can you post the equations of your linear and non-linear system? And explain how you obtained them? Commented Apr 4 at 11:00
• Thanks for your comment @Chris_abc, the linearisation is done through steady state linearisation, I do not have the equations of the nonlinear model since everything is done using SIMULINK, the code is available online though (gas turbine NASA model for AGTF30). I do have the linear state space matrices. Commented Apr 4 at 11:05
• Could you post those linear state-space matrices? Commented Apr 4 at 11:25
• Hope you have interpreted the variables of the linear model as $\delta$ of the state variables and not the original state variables. See my other answers 1 and 2.
– AJN
Commented Apr 4 at 13:58
• I have added a link to the NASA models in the questions above, hopefully I can find someone worked on it before! The linear model was obtained using the SIMULINK model AGTF30SysLin.mdl Commented Apr 4 at 14:35

Agree 100% with Tim Wescott. Here is a little more detail:

Imagine an oscillator containing a nonlinear spring, that stiffens up when presented with large amplitudes. That extra stiffness tends to shift the resonance frequency of the system up to higher values as the amplitude of the driving source gets larger.

Naturally this is going to alter all the rest of the system's response and furnish a different answer to the question of how to design the dynamics embedded in the feedback loop block.

And, just as pointed out by Tim, those effects disappear for sufficiently small amplitudes... in accordance with Nielsen's Law which states that 1 = 0 for small values of 1 and 0. This is a system dynamics joke; laughter is now permitted.

• I like the joke, but thing is ive seen academic papers where they have actually argued this. Commented Apr 5 at 3:42

What are you missing? You are using two different models, and getting two different results. There should be no surprise in this.

When you linearize a nonlinear* system around a point, you are creating an approximation of the nonlinear system. Unless the original system is, itself, linear, the linearized version is only exact for infinitesimally small excursions from the operating point.

When you use a linearized system in control systems design, you should always find the size of the region around the point at which you have linearized it where the linearized system is accurate enough for your purposes. You should either do this by analysis or by experiment.

I suggest taking your simulation and dropping the size of your step input by factors of 10 until either the simulation starts to misbehave, or until you see that the simulation is, in fact, becoming more accurate. This should demonstrate the basic principle to you.

* If you can linearize that system around that point -- if a system has an unbounded discontinuity at a point, then there's no sensible linearization. If the system has a bounded discontinuity, like an ADC or a DAC, then you can linearize the system by disregarding any motions that are too small rather than too large -- do a web search on "quantization noise" or just "quantization" to see how it's treated.