diff options
author | Nao Pross <np@0hm.ch> | 2023-05-24 16:50:06 +0200 |
---|---|---|
committer | Nao Pross <np@0hm.ch> | 2023-05-24 17:03:43 +0200 |
commit | 1f12e47e6d1fe8b365806aa0b42de237970d53bf (patch) | |
tree | ba9c739eb170397a7b7a9303e3ea7d1a03a94844 /templates/chebycenter.m | |
parent | Take deliverables for soft contraints from yuanxu (diff) | |
download | mpc_pe-1f12e47e6d1fe8b365806aa0b42de237970d53bf.tar.gz mpc_pe-1f12e47e6d1fe8b365806aa0b42de237970d53bf.zip |
Take deliverables for Robust MPC from yanzhen
According to table 12
- generate_disturbances
- simulate_uncertain
- compute_tube_contorller
- compute_minRPI
- compute_tightening
- MPC_TUBE
- MPC_TUBE/eval (contained in MPC_TUBE.m)
- MPC_TUBE_script (and its output MPC_TUBE_params.mat)
Diffstat (limited to '')
-rwxr-xr-x | templates/chebycenter.m | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/templates/chebycenter.m b/templates/chebycenter.m new file mode 100755 index 0000000..cbdce1c --- /dev/null +++ b/templates/chebycenter.m @@ -0,0 +1,20 @@ +function [c,r] = chebycenter(A,b) +%CHEBYCENTER Compute Chebyshev center of polytope Ax <= b. +% The Chebyshev center of a polytope is the center of the largest +% hypersphere enclosed by the polytope. +% Requires optimization toolbox. + +[n,p] = size(A); +an = sqrt(sum(A.^2,2)); +A1 = zeros(n,p+1); +A1(:,1:p) = A; +A1(:,p+1) = an; +f = zeros(p+1,1); +f(p+1) = -1; + +options = optimset; +options = optimset(options,'Display', 'off'); +c = linprog(f,A1,b,[],[],[],[],[],options); +r = c(p+1); +c = c(1:p); +end |