As the title says.
I have some input-output data (SISO system to make it simple) and I estimate a third order state space model with ssest. The resulting model has a 70% fit to data.
Then I use said model to initialize an nlhw model as follows
lin = ssest(data,3);
nlin = nlhw(data,lin,unitgain,unitgain);
where data is an iddata object. To my surprise, the model stored in nlin has only a 51% fit to data. After inspecting I noticed that the parameters of the linear part of the nlhw model are indeed different to those of lin, even considering that I have specified unitgain functions for both the input and output nonlinearities.
Why would the nlhw function change the user supplied parameters of the linear model to obtain a lower fit? Makes no sense.BTW I am running R2017b.