Find minimum of double-variable function on fixed interval

3 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2015-6-15
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 个评论
Mohammad
Mohammad 2015-6-16
just one question if i want find the maximum of that function; what is this code? thanks

请先登录,再进行评论。

更多回答(1 个)

Titus Edelhofer
Titus Edelhofer 2015-6-15
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 个评论
Walter Roberson
Walter Roberson 2015-6-15
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 2015-6-15
After calculating the minimum, i want to find the value which minimum occurred. How i can find minimum of double-variable function?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Direct Search 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by