difference between fmincon and fminsearch in matlab.

Illustration
arrontrhist - 2024-08-20T21:34:37+00:00
Question: difference between fmincon and fminsearch in matlab.

How to use fminsearch and fmincon in matlab for optimization. 

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

fminsearch is only for unbounded searches . 

fmincon can easily be used with bounds constraints . See the lb and ub parameter in the fmincon documentation.

Fminsearch implements the Nelder-Mead algorithm, which doesn't need to know the gradient of your error function. It's very flexible, and can even handle discontinuous error functions. It's pretty impressive, and tends to give good results without a lot of setup.

On the other hand, it can't deal with explicit boundaries, and for large numbers of parameters, it gets inefficient.

Fmincon implements a variety of bounded optimizations, mostly of the sort which are extensions of Newton's method. It takes more preparation, but generally speaking the final results are very accurate. If you can compute an analytical gradient for your error function, these methods are also very fast and efficient. If you can't, they will still work, but much less efficiently because they must use finite differences.

x = fmincon(fun,x0,A,b)

x = fminsearch(fun,x0)


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!