|
14 | 14 | G_veh=tf([3,3],[1,1,25,0,0]); |
15 | 15 | % Sector bounds |
16 | 16 | m=1; % lower bound on the sector |
17 | | - L=1:0.1:3; % Upper bound on the sector |
| 17 | + L=1:0.5:8; % Upper bound on the sector |
18 | 18 | n_L=length(L); |
19 | 19 | case 2 |
20 | 20 | % Example from Chen and Wen(not a vehicle): the optimal multiplier method |
21 | 21 | % for nonlinear robustness analysis |
22 | 22 | G_veh=tf([1,1],[1,1,25,0,0]); |
23 | 23 | % Sector bounds |
24 | 24 | m=1; % lower bound on the sector |
25 | | - L=1:0.1:3; % Upper bound on the sector |
| 25 | + L=1:0.5:10; % Upper bound on the sector |
26 | 26 | n_L=length(L); |
27 | 27 | case 3 |
28 | 28 | % Example from Scherer and Weiland, LMI notes in control |
|
44 | 44 | D=zeros(3);D(3,2)=1; |
45 | 45 | G_veh=ss(A,B,C,D); |
46 | 46 | % Sector bounds |
47 | | - m=1; % lower bound on the sector |
48 | | - L=1:0.1:3; % Upper bound on the sector |
| 47 | + m=0; % lower bound on the sector |
| 48 | + L=0:0.1:1; % Upper bound on the sector |
49 | 49 | n_L=length(L); |
50 | 50 | case 5 |
51 | 51 | % Example from Fetzer and Scherer page 3389 Example 4.9 (not a vehicle) |
|
62 | 62 | D=zeros(4); |
63 | 63 | G_veh=ss(A,B,C,D); |
64 | 64 | % Sector bounds |
65 | | - m=1; % lower bound on the sector |
66 | | - L=1:0.1:3; % Upper bound on the sector |
| 65 | + m=0; % lower bound on the sector |
| 66 | + L=0:0.1:3; % Upper bound on the sector |
67 | 67 | n_L=length(L); |
68 | 68 | end |
69 | 69 |
|
|
90 | 90 | multiplier_class.id=6; |
91 | 91 | multiplier_class.rho=-1; |
92 | 92 | multiplier_class.psi_order=1; |
93 | | - multiplier_class.odd_flag=0; |
| 93 | + multiplier_class.odd_flag=1; |
94 | 94 | multiplier_class.causal_flag=0; % 1: causal, -1:anti-causal, 0:non-causal |
95 | 95 | save_path=['.\data\mult_flag_non_causal_',num2str(multiplier_flag(1,i))]; |
96 | 96 | case 61 |
97 | 97 | multiplier_class.id=6; |
98 | 98 | multiplier_class.rho=-1; |
99 | 99 | multiplier_class.psi_order=1; |
100 | | - multiplier_class.odd_flag=0; |
| 100 | + multiplier_class.odd_flag=1; |
101 | 101 | multiplier_class.causal_flag=1; % 1: causal, -1:anti-causal, 0:non-causal |
102 | 102 | save_path=['.\data\mult_flag_causal_',num2str(multiplier_flag(1,i))]; |
103 | 103 | case 59 |
104 | 104 | multiplier_class.id=6; |
105 | 105 | multiplier_class.rho=-1; |
106 | 106 | multiplier_class.psi_order=1; |
107 | | - multiplier_class.odd_flag=0; |
| 107 | + multiplier_class.odd_flag=1; |
108 | 108 | multiplier_class.causal_flag=-1; % 1: causal, -1:anti-causal, 0:non-causal |
109 | 109 | save_path=['.\data\mult_flag_anti_causal_',num2str(multiplier_flag(1,i))]; |
110 | 110 | end |
|
116 | 116 | end |
117 | 117 | % Generate example quadratic fields (Linear feedback) to test conservatism |
118 | 118 | alpha_best=zeros(1,n_L); |
119 | | -for i=1:n_L |
120 | | - G_cl=feedback(G_veh,L(1,i),-1); |
| 119 | +for i=1:n_L |
| 120 | + if example<=3 |
| 121 | + G_cl=feedback(G_veh,L(1,i),-1); |
| 122 | + elseif example==4 |
| 123 | + H=diag(m+L(i)*rand(3,1)); |
| 124 | + G_cl=feedback(G_veh,H,-1); |
| 125 | + elseif example==5 |
| 126 | + H=diag(m+L(i)*rand(4,1)); |
| 127 | + G_cl=feedback(G_veh,H,-1); |
| 128 | + end |
121 | 129 | alpha_best(1,i)=-1*max(real(pole(G_cl))); |
122 | 130 | end |
123 | 131 | save('.\data\lb_lin'); |
|
0 commit comments