operator '*' is not supported for operands of type 'function_handle'.
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Avikash Chand
el 4 de Jun. de 2022
Comentada: Avikash Chand
el 4 de Jun. de 2022
So I am trying to maximize a function. In order to maximze a function f(x), I have to minimize the function -f(x).
I have tried to do this but I get the errors as such.
Any help would be appreciated.
I am using the optimize task from the live script.
Thanks
0 comentarios
Respuesta aceptada
John D'Errico
el 4 de Jun. de 2022
Editada: John D'Errico
el 4 de Jun. de 2022
This question (or the equivalent) gets asked over and over again. I can understand where things get confusing. For example:
f = @(x) x^2;
whos f
f is a function handle. We cannot do things like multiply it by -1, because it is not a number. Just the name of a function. So how do we negate it? We create a NEW function that takes the output of f, and negates THAT.
minusf = @(x) -f(x);
f(5)
minusf(5)
The new function handle minusf does exactly what you need.
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with Optimization Toolbox 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!