Find minimum of double-variable function on fixed interval
2 views (last 30 days)
Show older comments
Mohammad
on 15 Jun 2015
Commented: Walter Roberson
on 16 Jun 2015
Hi every body I have this function : y=(G*r)/4 + ((G^2*r^2)/16 + (G*r)/4 - 1/4)^(1/2) + 1/2 and I would calculated the minimum of this, in 0:1 interval for both of variable.
How I can write their code?
regards
0 Comments
Accepted Answer
Walter Roberson
on 15 Jun 2015
y = @(G,r) abs((G*r)/4 + ((G^2*r^2)/16 + (G*r)/4 - 1/4)^(1/2) + 1/2);
yx = @(x) y(x(1), x(2));
A = [];
Aeq = [];
b = [];
beq = [];
lb = [0 0];
ub = [1 1];
[x, fval] = fmincon(yx, [rand(), rand()], A, b, Aeq, Beq, lb, ub);
Note: that particular function's minimum value of 1/sqrt(2) occurs over almost all of the region, so the location of the minimum is not unique.
More Answers (1)
Titus Edelhofer
on 15 Jun 2015
Hi,
just to be sure: your y is dependent both on G and r and you want to minimize on the square [0..1]x[0..1]?
In this case fmincon from optimization toolbox is your friend, although your function is not real-valued in the entire square. E.g. for G=0.5, r=0.5 the result is complex ...?
Titus
3 Comments
Walter Roberson
on 15 Jun 2015
the abs() of the function is 1/sqrt(2) for most of the area, and increases in a region near 0.81 to 1 in G and r. The minimum is therefor going to be 1/sqrt(2)
See Also
Categories
Find more on Direct Search 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!