Effacer les filtres
Effacer les filtres

How do i use fminsearch to find the minimum or maximum of a function . x.^4-3.*x.*y+2.*y.^2

16 vues (au cours des 30 derniers jours)
I trying to use fmin search for a function of 2 variable
  2 commentaires
Ibraheem
Ibraheem le 13 Oct 2022
fun = @(x) x.^4-3.*x.*y +2.*y.^2;
x1 =x;
x2 =y;
x0 = [-0.5,0.5];
x = fminsearch(fun,x0)
I don't really know what to do to find the local minimum

Connectez-vous pour commenter.

Réponse acceptée

James Tursa
James Tursa le 13 Oct 2022
Modifié(e) : James Tursa le 13 Oct 2022
You need to have your function handle accept a vector and return a scalar. I.e., the x argument to the function handle is a vector of two elements representing your original x and y variables. Assuming x(1) and x(2) are your intended original x and y variables, that would mean something like this:
fun = @(x) x(1).^4-3.*x(1).*x(2) +2.*x(2).^2;
x0 = [-0.5,0.5];
x = fminsearch(fun,x0)
x = 1×2
-0.7500 -0.5625
  3 commentaires
James Tursa
James Tursa le 13 Oct 2022
Modifié(e) : James Tursa le 13 Oct 2022
format longg
fun = @(x) x(1).^4-3.*x(1).*x(2) +2.*x(2).^2;
x0 = [-0.5,0.5];
x = fminsearch(fun,x0)
x = 1×2
-0.749979058202537 -0.562478134566371
fun(x)
ans =
-0.316406248937402
fun([3/4,9/16])
ans =
-0.31640625
Also note that fminsearch( ) can only find local minimums, of which there can be more than one depending on the function. So different starting points can result in different answers.
x = fminsearch(fun,[3/4+0.1,9/16-0.1])
x = 1×2
0.749992146496559 0.562470511151394
fun(x)
ans =
-0.316406248747428
the cyclist
the cyclist le 13 Oct 2022
The function is invariant in the transformation (x,y) --> (-x,-y)

Connectez-vous pour commenter.

Plus de réponses (1)

the cyclist
the cyclist le 13 Oct 2022
Modifié(e) : the cyclist le 13 Oct 2022
Did you try reading the documentation for fminsearch? The very first example is exactly like your problem.
fun = @(x)(x(1)^4 - 3*x(1)*x(2) + 2*x(2)^2);
x0 = [-0.5, 0.5];
x = fminsearch(fun,x0)
x = 1×2
-0.7500 -0.5625

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by