Nonlinear system of equations with constrains
조회 수: 1 (최근 30일)
이전 댓글 표시
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
채택된 답변
Matt J
2013년 10월 6일
편집: Matt J
2013년 10월 6일
If the constraints are simple upper and lower bounds, you can use lsqnonlin(). Otherwise, you could use fmincon().
댓글 수: 2
Matt J
2013년 10월 6일
편집: Matt J
2013년 10월 6일
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.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!