4 % This
class represents a simple model which can be used for prototyping
6 % You can set up a
new model by passing a descr structure, which should
7 % contain information about all the data matrices.
9 % Andreas Schmidt, 2016
23 if ~isfield(descr, 'p'), descr.p = size(descr.C_comp{1},1); end
24 if ~isfield(descr,
'm'), descr.
m = size(descr.B_comp{1},2); end
31 if ~isfield(descr,
'mu_ranges') || ~isfield(descr,
'mu_names')
32 error('Please provide valid values for mu_ranges and mu_names');
35 this.mu_names = descr.mu_names;
36 this.mu_ranges = descr.mu_ranges;
39 % =================================================================
41 function A = A_coeff(this)
42 A = this.descr.A_coeff(this);
44 function A = A_comp(this, md)
45 A = this.descr.A_comp;
47 function B = B_coeff(this)
48 B = this.descr.B_coeff(this);
50 function B = B_comp(this, md)
51 B = this.descr.B_comp;
53 function C = C_coeff(this)
54 C = this.descr.C_coeff(this);
56 function C = C_comp(this, md)
57 C = this.descr.C_comp;
60 function E = E_coeff(this)
61 if isfield(this.descr, 'E_coeff')
62 E = this.descr.E_coeff(this);
67 function E = E_comp(this,md)
68 if isfield(this.descr, 'E_comp')
69 E = this.descr.E_comp;
75 function Q = Q_coeff(this)
76 if isfield(this.descr, 'Q_coeff')
77 Q = this.descr.Q_coeff(this);
82 function Q = Q_comp(this,md)
83 if isfield(this.descr, 'Q_comp')
84 Q = this.descr.Q_comp;
90 function R = R_coeff(this)
91 if isfield(this.descr, 'R_coeff')
92 R = this.descr.R_coeff(this);
97 function R = R_comp(this,md)
98 if isfield(this.descr, 'R_comp')
99 R = this.descr.R_comp;
m
The number of control inputs and measurements.
MODEL Main class for the DARE model.
Implementation of the parametric algebraic Riccati equation.
Implementation of the parametric discrete-time algebraic Riccati equation.