Overview
Comment:Previous version wrong for x_0 ne 0; this version now correct
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | origin/master | trunk
Files: files | file ages | folders
SHA3-256: 40cd09b5f8af42f6a36ebb7bc617e8437700c69602adfca7cbd09dee91220c08
User & Date: gawthrop@users.sourceforge.net on 2003-11-03 01:07:16
Other Links: branch diff | manifest | tags
Context
2003-11-03
02:47:47
Show constained and controlled outputs seperately. check-in: 3db7b1cb85 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
01:07:16
Previous version wrong for x_0 ne 0; this version now correct check-in: 40cd09b5f8 user: gawthrop@users.sourceforge.net tags: origin/master, trunk
2003-11-02
23:34:57
Split up outtput into controlled and constrained check-in: d15ce2265b user: gawthrop@users.sourceforge.net tags: origin/master, trunk
Changes

Modified mttroot/mtt/lib/control/PPP/ppp_output_constraint.m from [3c6de46c10] to [1ed78d0651].

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
78
79
  if (n != n_tau)||(m != n_tau)||(o != n_tau)
    error("Tau, Min, Max and Order must be the same length");
  endif
  

  ## Compute Gamma 
  Gamma = [];

  for i=1:n_U
    U = zeros(n_U,1); U(i,1) = 1; # Set up U_i
    y_i = ppp_ystar (A,B,C,D,x_0,A_u,U,Tau); # Compute y* for ith input for each tau
    y_i = y_i(i_y,:); # Pluck out output i_y
    ## Gamma = [Gamma [-y_i';y_i']]; # Put in parts for Min and max
    Gamma_i = [];
    if (Min>-inf)
      Gamma_i = [Gamma_i; -y_i']; # Min part of column
    endif
    if (Max<inf)
      Gamma_i = [Gamma_i;  y_i'];	# Add column for Max
    endif
    Gamma = [Gamma Gamma_i]; # Put in parts for Min and max
  endfor

  ## Compute gamma
  ##  gamma = [-Min';Max'];

  gamma = [];
  if (Min>-inf)
    gamma = [gamma; -Min'];
  endif
  if (Max<inf)
    gamma = [gamma; Max'];
  endif
  
endfunction









>


|













|
|


|


|





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
78
79
80
  if (n != n_tau)||(m != n_tau)||(o != n_tau)
    error("Tau, Min, Max and Order must be the same length");
  endif
  

  ## Compute Gamma 
  Gamma = [];
  zero_x = zeros(size(x_0));
  for i=1:n_U
    U = zeros(n_U,1); U(i,1) = 1; # Set up U_i
    y_i = ppp_ystar (A,B,C,D,zero_x,A_u,U,Tau); # Compute y* for ith input for each tau
    y_i = y_i(i_y,:); # Pluck out output i_y
    ## Gamma = [Gamma [-y_i';y_i']]; # Put in parts for Min and max
    Gamma_i = [];
    if (Min>-inf)
      Gamma_i = [Gamma_i; -y_i']; # Min part of column
    endif
    if (Max<inf)
      Gamma_i = [Gamma_i;  y_i'];	# Add column for Max
    endif
    Gamma = [Gamma Gamma_i]; # Put in parts for Min and max
  endfor

  ## Compute gamma
  zero_U = zeros(size(U));
  y_x = ppp_ystar (A,B,C,D,x_0,A_u,zero_U,Tau);	# Output if U is zero
  gamma = [];
  if (Min>-inf)
    gamma = [gamma; -(Min-y_x)'];
  endif
  if (Max<inf)
    gamma = [gamma; (Max-y_x)'];
  endif
  
endfunction



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