File: rpem.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (77 lines) | stat: -rw-r--r-- 2,674 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
rpem             Scilab Group             Scilab Function              rpem
NAME
   rpem - RPEM estimation
  
CALLING SEQUENCE
 [w1,[v]]=rpem(w0,u0,y0,[lambda,[k,[c]]])
PARAMETERS
 a,b,c           : a=[a(1),...,a(n)], b=[b(1),...,b(n)], c=[c(1),...,c(n)]
                 
 w0              : list(theta,p,phi,psi,l) where:
                 
                theta
                                     : [a,b,c] is a real vector of order 3*n
                     
                p    : (3*n x 3*n) real matrix.
                     
                phi,psi,l
                                     : real vector of dimension 3*n
                     
                During the first call on can take:
                 
                theta=phi=psi=l=0*ones(1,3*n). p=eye(3*n,3*n)
 u0              : real vector of inputs (arbitrary size) (if no input
                 take u0=[ ]).
                 
 y0              : vector of outputs (same dimension as u0 if u0 is not
                 empty). (y0(1) is not used by rpem).
                 
                If the time domain is (t0,t0+k-1) the u0 vector contains
                 the inputs 
                 
                u(t0),u(t0+1),..,u(t0+k-1) and y0 the outputs 
                 
                y(t0),y(t0+1),..,y(t0+k-1)
                 
DESCRIPTION
   Recursive estimation of parameters in an ARMAX model. Uses
  Ljung-Soderstrom recursive prediction error method. Model considered is
  the following:
  
 y(t)+a(1)*y(t-1)+...+a(n)*y(t-n)=
 b(1)*u(t-1)+...+b(n)*u(t-n)+e(t)+c(1)*e(t-1)+...+c(n)*e(t-n)
    The effect of this command is to update the estimation of unknown
  parameter theta=[a,b,c] with
  
   a=[a(1),...,a(n)], b=[b(1),...,b(n)], c=[c(1),...,c(n)].
  
OPTIONAL PARAMETERS
 lambda     : optional parameter (forgetting constant) choosed close to 1
            as convergence occur:
            
           lambda=[lambda0,alfa,beta] evolves according to :
            
           lambda(t)=alfa*lambda(t-1)+beta 
           with lambda(0)=lambda0
            
           k : contraction factor to be chosen close to 1 as convergence
            occurs.
            
           k=[k0,mu,nu] evolves according to:
            
           k(t)=mu*k(t-1)+nu 
           with k(0)=k0.
            
           c : large parameter.(c=1000 is the default value).
            
OUTPUT PARAMETERS:
   w1: update for w0.
  
   v: sum of squared prediction errors on u0, y0.(optional).
  
   In particular w1(1) is the new estimate of theta. If a new sample u1, y1
  is available the update is obtained by:
  
   [w2,[v]]=rpem(w1,u1,y1,[lambda,[k,[c]]]). Arbitrary large series can thus
  be treated.