Main Content

linapp

Linear approximation of nonlinear ARX and Hammerstein-Wiener models for given input

Syntax

lm = linapp(nlmodel,u)
lm = linapp(nlmodel,umin,umax,nsample)

Description

lm = linapp(nlmodel,u) computes a linear approximation of a nonlinear ARX or Hammerstein-Wiener model by simulating the model output for the input signal u, and estimating a linear model lm from u and the simulated output signal. lm is an idpoly model.

lm = linapp(nlmodel,umin,umax,nsample) computes a linear approximation of a nonlinear ARX or Hammerstein-Wiener model by first generating the input signal as a uniformly distributed white noise from the magnitude range umin and umax and (optionally) the number of samples.

Input Arguments

nlmodel

Name of the idnlarx or idnlhw model object you want to linearize.

u

Input signal as an iddata object or a real matrix.

Dimensions of u must match the number of inputs in nlmodel.

[umin,umax]

Minimum and maximum input values for generating white-noise input with a magnitude in this rectangular range. The sample length of this signal is nsample.

nsample

Optional argument when you specify [umin,umax]. Specifies the length of the white-noise input.

Default: 1024.

Version History

Introduced in R2007a