Hello, the problem is as follows: Minimize R Subject to: (x-a_i)^2+(y-b_i)^2 ≤ R^2
Am looking to find x, y and R, knowing that
  • a_i and b_i are known values from (100*1 matrices) each.
  • x and y are within min and max of a_i and b_i.
Is it possible to find a solution with the optimzation tool of MATLAB? If not, any suggestion for a solution ?

 Akzeptierte Antwort

Alan Weiss
Alan Weiss am 13 Sep. 2018

0 Stimmen

I haven't tried this, but it sounds straightforward.
Decision variables: x(1) = x, x(2) = y, x(3) = R.
100 nonlinear inequality constraints: (x(1) - a(i))^2 + (x(2) - b(i))^2 - R^2 <= 0
Objective function: R = x(3)
Bounds: ll = min(min([a,b])), mm = max(max([a,b]))
lb = [ll,ll,0] , ub = [mm,mm,Inf]
Call fmincon from a reasonable start point, such as [(ll+mm)/2,(ll+mm)/2,abs(mm)]
Alan Weiss
MATLAB mathematical toolbox documentation

Weitere Antworten (2)

Bruno Luong
Bruno Luong am 13 Sep. 2018
Bearbeitet: Bruno Luong am 13 Sep. 2018

1 Stimme

Here is solution
R = -Inf
x = something between min(ai,bi),max(ai,bi)
y = something between min(ai,bi),max(ai,bi)
next
Matt J
Matt J am 13 Sep. 2018
Bearbeitet: Matt J am 13 Sep. 2018

0 Stimmen

You could probably use minboundcircle in this FEX distribution.

Produkte

Version

R2015b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by