rbmatlab  1.16.09
 All Classes Namespaces Files Functions Variables Modules Pages
porsche_circle_x3opt_y3opt_r10_get_eq_constr.m
1 function eq_constr = porsche_circle_x3opt_y3opt_r10_get_eq_constr(model)
2 %function eq_constr = porsche_circle_get_eq_constr(model)
3 %
4 % DOKU SCHREIBEN!!!
5 %
6 % Oliver Zeeb, 01.06.2011
7 
8 R=model.optimization.constraint_circle_radius;
9 
10 % n Neben-Bed: punkte aus model.mu_names auf kreis um radius r_n
11 x_ind=0;
12 y_ind=0;
13 for k=1:length(model.mu_names)
14  position_in_pmacro = str2double(model.mu_names{k}(2));
15  x_or_y = model.mu_names{k}(1);
16  if x_or_y == 'x'
17  x_ind = x_ind+1;
18  x(x_ind) = getfield(model, model.mu_names{k});
19  %x_fix(x_ind) = model.pmacro(position_in_pmacro,1);
20  x_fix(x_ind) = model.optimization.constraint_circle_midpoint(1);
21  elseif x_or_y == 'y'
22  y_ind = y_ind+1;
23  y(y_ind) = getfield(model, model.mu_names{k});
24  %y_fix(y_ind) = model.pmacro(position_in_pmacro,2);
25  y_fix(x_ind) = model.optimization.constraint_circle_midpoint(2);
26  else
27  error('unknown entry in model.mu_names');
28  end
29 end
30 
31 x_diff_sqr = (x-x_fix).^2;
32 y_diff_sqr = (y-y_fix).^2;
33 r_sqr = (R*ones(1,length(x_diff_sqr))).^2;
34 
35 eq_constr = x_diff_sqr + y_diff_sqr - r_sqr;
36 
37 
38