How do I use fsolve

2 views (last 30 days)
Barry Ellis
Barry Ellis on 10 Oct 2019
Commented: Barry Ellis on 13 Oct 2019
Consider the following unconstrained optimization problem: minimize f(x1,x2,…xn)=x1^3+x1^2+2x2^2+3x3^2+x1x2+x2x3-8x1-16x2-32x3+110
Solve it using Matlab’s built-in function: fsolve.

Answers (1)

Walter Roberson
Walter Roberson on 10 Oct 2019
You cannot directly use fsolve() for that.
However, you can manually find the partial derivatives by doing minor calculus yourself, and then use fsolve() to find where the partial derivatives are all 0.
Partial derivatives of all 0 will be either a minima or a maxima or a saddle point. It happens that that equation has a minima and a maxima, so you will need to be careful.
  2 Comments
Barry Ellis
Barry Ellis on 13 Oct 2019
Thank you Walter. I am new to MATLAB and I guess I didn't ask the question right. I was asked to solve this using MATLAB functions fsolve and fminunc. I was told to first solve it using the analytical method and verify that the found solution is a minimum rather than a maximum, or inflection point. Then I'm supposed to solve it using fsolve, and then solve it using fminunc.
I'm completely lost on this.
Barry Ellis
Barry Ellis on 13 Oct 2019
I found that x(1) can either be 1.0604 or -1.6401. I can do this by hand, but MATLAB has me stumped.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!