rbmatlab  1.13.10
 All Classes Namespaces Files Functions Variables Groups Pages
vi_detailed_simulation.m
1 function sim_data = vi_detailed_simulation(model,model_data)
2 %function sim_data = vi_detailed_simulation(model,model_data)
3 %
4 % function performing a detailed simulation of a vi-model (see
5 % elastic_rope_model) via "quadprog".
6 %
7 % Generated fields of sim_data:
8 % U: primal solution vector
9 % L: Lagrange multiplier vector
10 
11 % I.Maier 30.05.2011
12 
13 sim_data = [];
14 
15 model.decomp_mode = 0;
16 [A,B,f,g] = model.operators(model,model_data);
17 
18 warning off
19 options = optimset;
20 %options.TolFun = 0;
21 options.MaxIter = 1000; % required for large bases...
22 options.Display = 'off';
23 sim_data.U = quadprog(A,-f,B',g,[],[],[],[],[],options);
24 %[sim_data.U,FVAL,EXITFLAG,OUTPUT] = quadprog(A,-f,B',g,[],[],[],[],[],options);
25 warning on
26 
27 sim_data.L = B\(f - A*sim_data.U);
28 sim_data.L = max(sim_data.L,0);
29 sim_data.A = A;
30 sim_data.B = B;
31 sim_data.f = f;
32 sim_data.g = g;