Codes to run system identification and nu-gap analysis:
1) [u,t,M]=runOrd(data,ord)
This program estimates models using every possible pairwise combination in the 'data' provided as input-output sets. The order of the model
is specified by the variable 'ord'.
The variable 'data' is supposed to be given in transcripts/time points (row/colomn).
The code calls 'pemadv' to compute the models.
The outputs are
'u': a matrix with the fitness of model (i,j) using data in row j as input and data in row i as output
't': a matrix with the transfer functions (i,j) that are derived from the models as above
'M': a matrix with linear model {i,j} estimated using data in row j as input and data in row i as output
2) [nugap,freq,w]=richgap(L1, L2, p1, p2)
This program computes the nu-gap between two transfer functions (L1 and L2), considering only frequencies between p1 and p2.
For instance, if the interesting periods lie between 18 and 36, then the correct p1 and p2 inputs should be p1=2*pi/18 and p2=2*pi/36
The outputs of the code are :
'nugap': a close accurate of the value of the nu-gap between the transfer functions
'freq': the frequency to which the nugap correpond (the frequency that correspond to the maximum distance between the two transfer functions in the Riemann plane)
'w': the set of frequencies considered when computing the nu-gap estimation
NOTE: the code does not check if the winding number condition is satisfied. Use the MATLAB(TM) code '[gap,nugap] = gapmetric(p0,p1)' for that.