How to find maximum of a function of 2 variables
60 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
enter
el 29 de Mzo. de 2020
Comentada: Alex Sha
el 17 de Abr. de 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 comentario
Alex Sha
el 17 de Abr. de 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
Respuesta aceptada
Star Strider
el 29 de Mzo. de 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 comentarios
Star Strider
el 29 de Mzo. de 2020
I referred to it earlier: fmincon. The would be more appropriate, since it is for multivariable functions, and it allows constraints on them.
Más respuestas (0)
Ver también
Categorías
Más información sobre Nonlinear Optimization en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!