Nonlinear system of equations with constrains
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Hi every body,
I have 4 nonlinear equations and 4 unknowns to be solved. but my unknowns are constrained. So I can't use something like fsolve. Which function do I need to use? I also have optimization toolbox. Is 'fgoalattain' my answer?(I've tried it but not familiar how it works:( )
thanx
0 Commenti
Risposta accettata
Matt J
il 6 Ott 2013
Modificato: Matt J
il 6 Ott 2013
If the constraints are simple upper and lower bounds, you can use lsqnonlin(). Otherwise, you could use fmincon().
2 Commenti
Matt J
il 6 Ott 2013
Modificato: Matt J
il 6 Ott 2013
The problem with 'lsqnonlin' is that it doesn't minimize(solve) each equation separately but minimizes (f1(x)+f2(x)+...).
No, that isn't to be viewed as a problem. If the system of equations possesses a simultaneous solution then that solution must globally minimize the sum of squares (f1(x)+f2(x)+...), bringing it to a minimum value of zero. Similar remarks apply to fmincon.
If you're not getting the results you want it is likely because of one or more of the following,
- You have coded your objective function incorrectly
- You have given a bad initial guess x0
- Your system does not have a simultaneous solution. You must relax your requirements and accept a least squares solution in that case.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!