@TechReport{ it:2010-022, author = {Torbj{\"o}rn Wigren and Linda Brus and Soma Tayamon}, title = {{MATLAB} Software for Recursive Identification and Scaling Using a Structured Nonlinear Black-box Model - Revision 6}, institution = {Department of Information Technology, Uppsala University}, department = {Division of Systems and Control}, year = {2010}, number = {2010-022}, month = sep, note = {Revised version of nr 2010-002. The software package can be downloaded from \url{http://www.it.uu.se/research/publications/reports/2010-022/NRISSoftwareRev6.zip}.} , abstract = {This report is intended as a users manual for a package of MATLAB scripts and functions, developed for recursive prediction error identification of nonlinear state space systems and nonlinear static systems. The core of the package is an implementation of related output error identification and scaling algorithms. The algorithms are based on a continuous time, structured black box state space model of a nonlinear system. Furthermore, to initialize the algorithm an initiation scheme based on Kalman filter theory is included. The purpose of the initialization algorithm is to find initial parameters for the prediction error algorithm, and thus reducing the risk of convergence to local false minima. An RPEM algorithm for recursive identification of nonlinear static systems, that re-uses the parameterization of the nonlinear ODE model, is also included in the software package. In this version of the software a new discretization of the continuous time model based on the midpoint integration algorithm is added. The software can only be run off-line, i.e. no true real time operation is possible. The algorithms are however implemented so that true on-line operation can be obtained by extraction of the main algorithmic loop. The user must then provide the real time environment. The software package contains scripts and functions that allow the user to either input live measurements or to generate test data by simulation. The scripts and functions for the setup and execution of the identification algorithms are somewhat more general than what is described in the references. There is e.g. support for automatic re-initiation of the algorithms using the parameters obtained at the end of a previous identification run. This allows for multiple runs through a set of data, something that is useful for data sets that are too short to allow convergence in a single run. The re-initiation step also allows the user to modify the degrees of the polynomial model structure and to specify terms that are to be excluded from the model. This makes it possible to iteratively re-fine the estimated model using multiple runs. The functionality for display of results include scripts for plotting of data, parameters, prediction errors, eigenvalues and the condition number of the Hessian. The estimated model obtained at the end of a run can be simulated and the model output plotted, alone or together with the data used for identification. Model validation is supported by two methods apart from the display functionality. First, a calculation of the RPEM loss function can be performed, using parameters obtained at the end of an identification run. Secondly, the accuracy as a function of the output signal amplitude can be assessed.} }