How to obtain the detailed function of NLARX model

10 views (last 30 days)
Hi all
With the experimental data, I identified an nlarx model.
However, I would like to know the detailed function of this nlarx model.
The present of the model only gave following information.
IDNLARX model with 1 output and 2 inputs
Input names: u1, u2
Output name: y1
Standard regressors corresponding to the orders:
na = [2]
nb = [2 2]
nk = [0 0]
No custom regressor
Nonlinear regressors:
y1(t-1)
y1(t-2)
u1(t)
u1(t-1)
u2(t)
u2(t-1)
Nonlinearity estimator: wavenet with 1 unit
Loss function: 30.6431
Sampling interval: 1
Estimated model (NLARX)
How can I obtain this nlarx model with detailed expression?
Thanks.
  1 Comment
Edwin Red Estofanero Larico
I have the similar problem. I want to get the detailed expression, but only get to see the object model: nlarx1 = Nonlinear ARX model with 1 output and 1 input Inputs: u Outputs: y Standard regressors corresponding to the orders na = 2, nb = 5, nk = 0 No custom regressor Nonlinear regressors: y(t-1) y(t-2) u(t) u(t-1) u(t-2) u(t-3) u(t-4) Nonlinearity: wavenet with 41 units Loss function: 2.6466e-05 Sample time: 1 Estimated by PEM
Then, How can I obtain this nlarx model with detailed expression?

Sign in to comment.

Accepted Answer

Yingying
Yingying on 9 Aug 2011
I now found a way to obtain the expression of the identified nlarx model.
Assume the name of the identified model is m. Then we can try the following commands;
w=get(m,'Nonlinearity'); w.parameters;
The answer will give us the values of the coefficients of the nlarx model. The form with nonlinearity estimator of nlarx model can be found in the MatLab help file.
Here I would like to thank Dr. Piovoso. He helped to find these command.
I would like to thank Rajiv Singh as well. His answer helped me to know the nonlinear identification further.
  1 Comment
Edwin Red Estofanero Larico
I used these command and got this: ans =
RegressorMean: [6.9369 6.9371 41.9469 41.9406 41.9343 41.9233 41.9123]
NonLinearSubspace: [7x7 double]
LinearSubspace: [7x7 double]
OutputOffset: 6.9429
LinearCoef: [7x1 double]
ScalingCoef: [8x1 double]
WaveletCoef: [33x1 double]
ScalingDilation: [8x1 double]
WaveletDilation: [33x1 double]
ScalingTranslation: [8x7 double]
WaveletTranslation: [33x7 double]
Can you explain how the get the non linear equation?

Sign in to comment.

More Answers (1)

Rajiv Singh
Rajiv Singh on 6 Aug 2011
Edited: Rajiv Singh on 8 Dec 2023
If by "detailed expression" you mean the underlying formulas used for representing the input-to-output relationship, then you could look the the following:
  1. In MATLAB type: "idprops wavenet" or "doc wavenet" (similarly for other nonlinear forms such as sigmoidnet etc)
  2. See Nonlinear ARX related content in the following FEX document: http://www.mathworks.com/matlabcentral/fileexchange/28618-data-based-modeling-of-nonlinear-dynamic-systems-using-system-identification-toolbox
  3. See the attached file for more information.
HTH, Rajiv
  3 Comments
Rajiv Singh
Rajiv Singh on 7 Aug 2011
The FEX submission I described before should help you see how you can find the exact mathematical form of a nonlinear ARX (idnlarx) model. The idnlarx model does not have a fixed formula, its nature depends upon the choice of nonlinearity used to create it (much like the nature of a neural network depends upon the type of neurons). However, once you know the type of nonlinearity (such as wavenet, sigmoidnet etc), the formula is quite clear. The transformation of input to output happens in two stages:
(a) Input values and initial conditions are first transformed into a matrix of "regressors"; see GETREG
(b) The regressor matrix is used as an input to a nonlinear function such as wavenet to determine the outputs. The formula for a wavenet is described in the documentation; see also IDNLFUN/EVALUATE.
The pdf document contained in the FEX submission should describe all this in more detail.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!