Overview
Comment:Prediction matices for open-loop control
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | origin/master | trunk
Files: files | file ages | folders
SHA3-256: e0beb0cc3ba856fc9cf579c3d4a88b703a749f232d2acad4d6224ccc3bbf6c5f
User & Date: gawthrop@users.sourceforge.net on 2005-10-13 07:28:50
Other Links: branch diff | manifest | tags
Context
2005-10-13
10:01:57
Explicitly set U to zero check-in: c982c26de6 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
07:28:50
Prediction matices for open-loop control check-in: e0beb0cc3b user: gawthrop@users.sourceforge.net tags: origin/master, trunk
2005-09-29
13:46:25
Converts labg.fig -> ps/eps correctly (using fig2ps) check-in: abdbc1c97d user: gawthrop@users.sourceforge.net tags: origin/master, trunk
Changes

Added mttroot/mtt/lib/control/PPP/ppp_pred.m version [a109d8be6c].
































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
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
function [A_p,B_p] = ppp_pred (A,B,C,D,A_u,Ust0,T)

  ## usage:  [A_p,B_p] = ppp_pred (A,B,C,D,A_u,Ust0,T)
  ##
  ## PPP prediction matrices: x_pred = A_p*x + B_p*U

  ## Sanity
  [n_x,n_u,n_y] = abcddim(A,B,C,D); # System dimensions
  if (n_x==-1)
    error("A B C D not compatible");
  endif
  
  n_U = issquare(A_u);
  if (n_U!=n_x)
    error(sprintf("A_u must be %ix%i",n_x,n_x));
  endif
  
  [nn,mm] = size(Ust0);
  if (nn!=1)||(mm!=n_x)
    error(sprintf("Ust0 must be 1x%i",n_x));
  endif
  
      Z = zeros(n_x,n_x);
      AA = [A   B*Ust0
	    Z   A_u'];

      eAA = expm(AA*T);
      A_p = eAA(1:n_x,1:n_x);
      B_p = eAA(1:n_x,n_x+1:2*n_x);
  
endfunction


MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]