how I Found the minimum of function using the fminbnd ??
Show older comments
f(x)=3x1+2x1x2+x2 such as 0.1≤ x1 ≤1 0.25 ≤ x2 ≤ 4 help me please thanks in advance
Answers (2)
Walter Roberson
on 7 Jun 2018
0 votes
You cannot do that. fminbnd() can only be used for a function of a single variable.
1 Comment
Walter Roberson
on 7 Jun 2018
fun = @(x) 3*x(1) + 2*x(1)*x(2) + x(2)
x0 = [.5 2.5];
A = [];
b = [];
Aeq = [];
beq = [];
lb = [0.1 0.25];
ub = [1 4];
x12 = fmincon(fun, x0, A, b, Aeq, beq, lb, ub)
x1 = x12(1); x2 = x12(2);
Torsten
on 7 Jun 2018
0 votes
You can't. fminbnd is for functions of one variable - your f is a function of two variables.
Use "fmincon" instead.
Best wishes
Torsten.
7 Comments
ahlem sellami
on 7 Jun 2018
lb = [0.1 0.25];
ub = [1 4];
fun = @(x) 3*x(1)+2*x(1)*x(2)+x(2);
x0 = [0.5 2];
sol = fmincon(fun,x0,[],[],[],[],lb,ub)
If your problem is quadratic (like this test example), MATLAB's "quadprog" is an alternative to "fmincon".
Best wishes
Torsten.
ahlem sellami
on 7 Jun 2018
Torsten
on 7 Jun 2018
Edited: Walter Roberson
on 7 Jun 2018
initial guess for the solution "sol"
Here is the relevant documentation:
ahlem sellami
on 7 Jun 2018
Edited: Walter Roberson
on 7 Jun 2018
Torsten
on 7 Jun 2018
In principle, x0 is arbitrary.
But if you know an x0 that is feasible and near to the optimum, you should use it since you'll most probably get faster and more stable convergence towards the solution.
ahlem sellami
on 7 Jun 2018
Categories
Find more on Biological and Health Sciences 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!