How to find maximum of a function of 2 variables
51 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
enter
am 29 Mär. 2020
Kommentiert: Alex Sha
am 17 Apr. 2020
I have a function z = cos(x^2 + y^2) and the assumption that both x and y belong to interval 1;5. How can I find the maximum value of the function z? I thought about using fminsearch for finding minimum of -z, but I’m new to Matlab and it doesn’t work.
1 Kommentar
Alex Sha
am 17 Apr. 2020
Obviously, the maximum value of cos() should be 1, in the range of [1,5], there are multi-solutions:
1:
x: 2.32564131982953
y: 4.44118606739161
2:
x: 4.43419681301284
y: 2.33893989844493
Akzeptierte Antwort
Star Strider
am 29 Mär. 2020
One approach:
z = @(x,y) cos(x.^2 + y.^2);
XY = fminsearch(@(b)norm(-z(b(1),b(2))), [3; 3])
producing:
XY =
2.96385862016178
2.91449853520917
10 Kommentare
Star Strider
am 29 Mär. 2020
I referred to it earlier: fmincon. The would be more appropriate, since it is for multivariable functions, and it allows constraints on them.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Nonlinear Optimization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!