Find minimum of double-variable function on fixed interval

4 views (last 30 days)
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

Accepted Answer

Walter Roberson
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.
  9 Comments
Mohammad
Mohammad on 16 Jun 2015
just one question if i want find the maximum of that function; what is this code? thanks

Sign in to comment.

More Answers (1)

Titus Edelhofer
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
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)
Mohammad
Mohammad on 15 Jun 2015
After calculating the minimum, i want to find the value which minimum occurred. How i can find minimum of double-variable function?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!