Robust ROA calculations for the Van der Pol dynamics using

Contents

Branch-and-bound refinement

This file demonstrates the problem setup for robust ROA computation with affine parametric uncertainty. For more details on all the options see NACodeExplanation.pdf.

Form the vector field

pvar x1 x2;
x = [x1;x2];
x1dot = -x2;
x2dot = x1+(x1^2-1)*x2;

Nominal system

f = [x1dot; x2dot];

Introduce an uncertain parameter

pvar d1

Specify its range

ini_cell = [-0.1 0.1];

Form the uncertain vector field

f = f + d1*[-x2;0];

Set some options

[roaconstr,opt,sys] = GetRoaOpts(f, x);
opt.sim.NumConvTraj = 40;

Modify opt to run B&B and to change the display options

opt.BB.runBB = 1;
opt.BB.max_iter = 3;
opt.display.BB = 1;
Solve the problem
outputs = wrapper(sys,ini_cell,roaconstr,opt);
***Start B&B refinement***
-------Start cellBetaCenter for the initial partition --
-------End cellBetaCenter for the initial partition --
Current Beta  = 1.306, 	 Number of active cells = 1
-------Start B&B iteration number = 1 --
-------End B&B iteration number = 1 --
Current Beta  = 1.393, 	 Number of active cells = 2
-------Start B&B iteration number = 2 --
-------End B&B iteration number = 2 --
Current Beta  = 1.423, 	 Number of active cells = 3
-------Start B&B iteration number = 3 --
-------End B&B iteration number = 3 --
Current Beta  = 1.427, 	 Number of active cells = 4
***End of B&B refinement***

Extract the solution

[V,beta,gamma,p,multip,betaUpper] = extractSol(outputs);
beta
beta =

    1.4267

p
 
p = 
  x1^2 + x2^2
 
betaUpper
betaUpper =

    2.1701