findop(idnlhw) - Compute operating point for Hammerstein-Wiener model

Syntax

[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)

Description

[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 Definition of 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.

Input

Input

Algorithm

findop computes the operating point from steady-state operating point specifications or at a simulation snapshot.

Computing the Operating Point from Steady-State Specifications

You specify to compute the steady-state operating point by calling findop in either of the following ways:

[X,U] = findop(SYS,'steady',InputLevel,OutputLevel)
[X,U] = findop(SYS,SPEC)

When you use the syntax [X,U] = findop(SYS,'steady',InputLevel,OutputLevel), the algorithm assumes the following operating-point specifications:

Using the syntax [X,U] = findop(SYS,SPEC), you can specify additional information, such as the minimum and maximum constraints on the input/output signals and whether certain inputs are known (fixed).

findop uses a different approach to compute the steady-state operating point depending on how much information you provide for this computation:

Computing the Operating Point at a Simulation Snapshot

When you use the syntax [X,U] = findop(SYS,'snapshot',T,UIN,X0), the algorithm simulates the model output until the snapshot time, T. At the snapshot time, the algorithm computes the inputs for the linear model block of the Hammerstein-Wiener model (LinearModel property of the idnlhw object) by transforming the given inputs using the input nonlinearity: w = f(u). findop uses the resulting w to compute x until the snapshot time using the following equation: x(t+1) = Ax(t) + Bw(t), where [A,B,C,D] = ssdata(model.LinearModel).

Examples

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

  1. Estimate an idnlhw model from sample data iddata2.

    load iddata2;
    M = nlhw(z2,[4 3 2],'wavenet','pwl');
  2. Compute the steady-state operating point for an input level of 1.

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

The resulting operating-point state values are, as follows:

 x0 =

   4.309851305460448
  -4.468881971945637
   1.242120308173632
  -0.085288756364965
   0.613281249999998

See Also

findstates(idnlhw) 
operspec(idnlhw) 
sim(idnlhw) 

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS