Find minimum value of a function with 4 parameters
Show older comments
I have a grid of 10 by 10. I have to know the coordinates of the antenas in this grid, the antenas have to be as far away from each other. I know the best place will be x1=0, y1=0 and x2=10, y2=10 or x1=10, y1=10 and x2=0, y2=0 (the oposit). But I want Matlab to find that out. Right now I have a formula to calculate the distance between the two points. The problem is, I don't know how to enter 4 variables in fmincon because I have two x variables and two y variables.
As starting position I take [5 5 5 5] (the middel of the field) and for the left/ right bound i take [0 0], [10 10].
Thank you for helping me. If you have any more questions please ask.
% Antene 1: x1 = x(1), y1 = x(2)
% Antene 2: x2 = x(3), y2 = x(4)
distanceAntenes = @(x) -sqrt((x(3)-x(1))^2+(x(4)-x(2))^2);
[x1, y1, x2, y2] = fmincon(distanceAntenes, [5 5 5 5],[],[],[],[],[0 0],[10 10])
Answers (2)
Walter Roberson
on 6 Dec 2022
0 votes
only change is your lower bound and upper bound need to be length 4
1 Comment
Axel Degrande
on 6 Dec 2022
distanceAntenes = @(x) -sqrt((x(3)-x(1))^2+(x(4)-x(2))^2);
x = fmincon(distanceAntenes, [5 6 3 7],[],[],[],[],[0 0 0 0],[10 10 10 10])
distanceAntenes(x)
Categories
Find more on Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!