How do I use fsolve

2 visualizzazioni (ultimi 30 giorni)
Barry Ellis
Barry Ellis il 10 Ott 2019
Commentato: Barry Ellis il 13 Ott 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.

Risposte (1)

Walter Roberson
Walter Roberson il 10 Ott 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 Commenti
Barry Ellis
Barry Ellis il 13 Ott 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 il 13 Ott 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.

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by