Nonlinear Control Design Blockset | ![]() ![]() |
Representation of Time-Domain Constraints
This section discusses the constraint bounds displayed in the Nonlinear Control Design Blockset constraint window, which are for visualization purposes only. All constraint information is contained in two matrices, ncdStruct.CnstrLB
and ncdStruct.CnstrUB
, which are fields of the global structure variable ncdStruct
. Each constraint bound consists of groups of line segment data for each output constrained.
The matrix ncdStruct.CnstrLB (ncdStruct.CnstrUB)
has dimension 4 x 2L where L is the total number of line segments in all lower (upper) bounds. The first row of ncdStruct.CnstrLB
and ncdStruct.CnstrUB
contains the outport number for the constraint. All constraint bound segments for the same outport are grouped together. The second row contains the time axis values of the segment while the third row contains the response axis values. The time axis values for each output increase monotonically from optimization start time to optimization stop time. The time value end of one segment equals the time value beginning of the next segment. The fourth row of ncdStruct.CnstrLB (ncdStruct.CnstrUB)
contains information about the segment's weighting.
As an example, consider the lower bound constraint matrix,
The matrix's first row shows that two outputs are constrained. The first output is constrained by three line segments and the second by one line segment. Constraints on the second output are defined by the line segment from the (time, response) point (0,-0.1) to the point (100,-0.1). Constraints on the first output are defined by the line segments from (0,0) to (10,0), from (10,0.9) to (30,0.9), and from (30,0.99) to (100,0.99). We expect a simulation start time of zero and stop time of 100. The fourth row shows that all line segments are weighted equally, with weight of one (the even columns of the fourth row are reserved for future use).
![]() | Optimization Algorithmic Details | Nonlinear Control Design Blockset Global Variable ncdStruct | ![]() |