Skip to content

Commit 80f10b0

Browse files
committed
Few modifications
Include the script for generating the feasible using brute force
1 parent 4ad98d8 commit 80f10b0

6 files changed

+404
-12
lines changed

Diff for: actual_build_lmi15_jianbo.m

+4-2
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88

99
auxlmi15=[];
1010

11+
auxm15=m15;
12+
1113
for j1=1:3 % linhas
1214
s=[];
1315
for j2=1:3 % colunas
1416
s=[s eval(m15{j1,j2})];
15-
end;
17+
end
1618
auxlmi15=[auxlmi15;s];
17-
end;
19+
end
1820

1921
biglmi15= (auxlmi15>= 0);

Diff for: actual_build_lmi16_jianbo.m

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@
3131
s='[';
3232
for j2=1:(M+1)
3333
s=sprintf('%s m16{%d,%d}',s,j1,j2);
34-
end;
34+
end
3535
s=sprintf('%s];',s);
3636
auxlmi16=[auxlmi16;eval(s)];
37-
end;
37+
end
3838

3939
biglmi16=[biglmi16;auxlmi16>=0];
4040
end

Diff for: actual_build_lmi20_jianbo.m

-7
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,6 @@
55

66
% LMI (20)
77

8-
% Build LMI 21
9-
10-
% Rosileide Lopes - 03/13/2018
11-
% DELT - UFMG
12-
13-
% LMI (21)
14-
158

169
biglmi20=[];
1710

Diff for: define_lmi_variables_jianbo.m

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
gamma_1 = sdpvar(1);
1010
gamma_2 = sdpvar(1);
11-
uk = sdpvar(1);assign(uk,0); % Old - assign(uk,CIu);
11+
uk = sdpvar(1); % Old - assign(uk,CIu);
1212

1313
% To build the other LMI variables we need to know the dimensions of the system and
1414
% control matrices. This can be easily achieved by looking at the defintions

Diff for: script_generate_feasible_region.m

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
%% Script - An attempt (with failure) to use yalmip plot to get the feasible region
2+
3+
clear all;close all;clc;
4+
5+
%% Call yalmpi and solvers - This is an example - I am running Matlab on a mac.
6+
7+
addpath(genpath('~/Documents/MATLAB/yalmip'))
8+
addpath(genpath('~/Documents/MATLAB/cvx/sedumi'))
9+
addpath(genpath('~/Documents/MATLAB/cvx/sdpt3'))
10+
addpath(genpath('~/mosek/8/toolbox/r2014a'));
11+
12+
%% Define Constants
13+
14+
flagc=0;
15+
16+
disp('***********************************************');
17+
18+
if flagc == 1
19+
disp('A Constrained problem will be solved');
20+
disp('');
21+
disp('LMIs 11, 15, 16, 20, 21, 23 and 25 will be used');
22+
elseif flagc == 2
23+
disp('A Constrained problem will be solved');
24+
disp('');
25+
disp('LMIs 11, 15, 16, 20, 21, 23, 24, 25 and 26 will be used');
26+
else
27+
disp('An unconstrained problem will be solved');
28+
disp('');
29+
disp('LMIs 11, 15 and 16 will be used');
30+
end
31+
32+
opts = sdpsettings('verbose',0, 'warning',1,'solver','mosek');
33+
34+
model_parameters_jianbo
35+
36+
nq=nx;
37+
nr=nu;
38+
39+
umax=1;
40+
xmax=1;
41+
42+
rk=1;
43+
44+
N=1;
45+
46+
define_lmi_variables_jianbo
47+
48+
xk=sdpvar(2,1);
49+
50+
Obj=gamma_1+gamma_2;
51+
52+
%% LMI 11
53+
54+
pre_build_lmi11_jianbo
55+
actual_build_lmi11_jianbo
56+
57+
%% LMI 15
58+
59+
pre_build_lmi15_jianbo
60+
actual_build_lmi15_jianbo
61+
62+
%% LMI 16
63+
64+
pre_build_lmi16_jianbo
65+
actual_build_lmi16_jianbo
66+
67+
%% Big LMI
68+
69+
if flagc == 1 % Constrained on the input
70+
pre_build_lmi20_jianbo
71+
actual_build_lmi20_jianbo
72+
pre_build_lmi21_jianbo
73+
actual_build_lmi21_jianbo
74+
pre_build_lmi23_jianbo
75+
actual_build_lmi23_jianbo
76+
pre_build_lmi25_jianbo
77+
actual_build_lmi25_jianbo
78+
LMIs_orig=[biglmi11;biglmi15;biglmi16;biglmi20;biglmi21;biglmi23;biglmi25,biglmi25_1];
79+
elseif flagc == 2 % Constrained on the input and states
80+
pre_build_lmi20_jianbo
81+
actual_build_lmi20_jianbo
82+
pre_build_lmi21_jianbo
83+
actual_build_lmi21_jianbo
84+
pre_build_lmi23_jianbo
85+
actual_build_lmi23_jianbo
86+
pre_build_lmi24_jianbo
87+
actual_build_lmi24_jianbo
88+
pre_build_lmi25_jianbo
89+
actual_build_lmi25_jianbo
90+
pre_build_lmi26_jianbo
91+
actual_build_lmi26_jianbo
92+
LMIs_orig=[biglmi11;biglmi15;biglmi16;biglmi20;biglmi21;biglmi23;biglmi24;biglmi25,biglmi25_1;biglmi26,biglmi26_1];
93+
else % unconstrained
94+
LMIs_orig=[biglmi11;biglmi15;biglmi16];
95+
end
96+
97+
98+
plot(LMIs_orig,xk,[],[],opts);

0 commit comments

Comments
 (0)