Set or randomize initial parameter values
m = init(m0) randomizes initial parameter estimates for model structures m0 for any linear or nonlinear identified model. It does not support idnlgrey models. m is the same model structure as m0, but with a different nominal parameter vector. This vector is used as the initial estimate by pem.
m = init(m0,R,pars,sp) randomizes parameters around pars with variances given by the row vector R. Parameter number k is randomized as pars(k) + e*sqrt(R(k)), where e is a normal random variable with zero mean and a variance of 1. The default value of R is all ones, and the default value of pars is the nominal parameter vector in m0.
Only models that give stable predictors are accepted. If sp = 'b', only models that are both stable and have stable predictors are accepted.
sp = 's' requires stability only of the model, and sp = 'p' requires stability only of the predictor. sp = 'p' is the default.
Sufficiently free parameterizations can be stabilized by direct means without any random search. To just stabilize such an initial model, set R = 0. With R > 0, randomization is also done.
For model structures where a random search is necessary to find a stable model/predictor, a maximum of 100 trials is made by init. It can be difficult to find a stable predictor for high-order systems by trial and error.