## Documentation Center |

Compute operating point for Hammerstein-Wiener model

`[X,U] = findop(SYS,'steady',InputLevel,OutputLevel)[X,U] = findop(SYS,SPEC)[X,U] = findop(SYS,'snapshot',T,UIN,X0)[X,U,REPORT] = findop(...)findop(SYS,...,PVPairs)`

`[X,U] = findop(SYS,'steady',InputLevel,OutputLevel)` computes
operating-point state values, `X`, and input values, `U`,
from steady-state specifications for an `idnlhw` model.
For more information about the states of an `idnlhw` model,
see idnlhw States.

`[X,U] = findop(SYS,SPEC)` computes the equilibrium
operating point using the specifications in the object `SPEC`.
Whereas the previous command only lets you specify the input and output
level, `SPEC` provides additional specification for
computing the steady-state operating point.

`[X,U] = findop(SYS,'snapshot',T,UIN,X0)` computes
the operating point at a simulation snapshot of time `T` using
the specified input and initial state values.

`[X,U,REPORT] = findop(...)` creates a structure, `REPORT`,
containing information about the algorithm for computing an operating
point.

`findop(SYS,...,PVPairs)` specifies property-value
pairs for setting algorithm options.

`SYS`:`idnlhw`(Hammerstein-Wiener) model.`'steady'`: Computes operating point using steady-state input and output levels.`'snapshot'`: Computes operating point at simulating snapshot of model`SYS`at time`T`.`InputLevel`: Steady-state input level for computing operating point. Use`NaN`when the value is unknown. Do not enter`OutputLevel`when`InputLevel`does not contain any`NaN`values.`OutputLevel`: Steady-state output level for computing the operating point. Use`NaN`when the value is unknown.`SPEC`: Operating point specifications object. Use`SPEC = OPERSPEC(SYS)`to construct the`SPEC`object for model`SYS`. Then, configure`SPEC`options, such as signal bounds, known values, and initial guesses. See`operspec(idnlhw)`for more information.`T`: Simulation snapshot time at which to compute the operating point.`UIN`: Input for simulating the model.`UIN`is a double matrix or an`iddata`object. The number of input channels in`UIN`must match the number of`SYS`inputs.`X0`: Initial states for model simulation.Default: Zero.

`PVPairs`: Property-value pairs for customizing the model`Algorithm`property fields, such as`SearchMethod`,`MaxSize`, and`Tolerance`.

`X`: Operating point state values.`U`: Operating point input value.`REPORT`: Structure containing the following fields:`SearchMethod`: String indicating the value of the`SearchMethod`property of`MODEL.Algorithm`.`WhyStop`: String describing why the estimation stopped.`Iterations`: Number of estimation iterations.`FinalCost`: Final value of the sum of squared errors that the algorithm minimizes.`FirstOrderOptimality`: Measure of the gradient of the search direction at the final parameter values when the search algorithm terminates. It is equal to the -norm of the gradient vector.`SignalLevels`: Structure containing fields`Input`and`Output`, which are the input and output signal levels of the operating point.

In this example, you compute the operating point of an `idnlhw` model
for a steady-state input level of 1.

Estimate an

`idnlhw`model from sample data`iddata2`.load iddata2; M = nlhw(z2,[4 3 2],'wavenet','pwl');

Compute the steady-state operating point for an input level of 1.

x0 = findop(M,'steady',1,NaN)

Was this topic helpful?