fsolve with multiple tolerance levels

I am trying to numerically solve a system of the form , where the 's are pre-specified numbers. The 's are computed through a simulation (i.e. they don't come from closed-form expressions) and depend on a series of ten parameters, the choice variables in the problem. So far, I have been using fsolve.
Is there any way to specify a different tolerance level for each of the equalities?
The same problem could be stated as a series of inequalities - where is the specific tolerance level. In this case it would be sufficient, for each i, to find at least one parameter value that produces a satisfying the inequality. If this formulation is better, can you suggest a function that can deal with it?
Thanks for your help.

답변 (1개)

Matt J
Matt J 2021년 4월 5일
편집: Matt J 2021년 4월 5일

0 개 추천

You can use fmincon (instead of fsolve) to formulate the tolerances as nonlinear inequality constraints. Or you can use lsqnonlin to minimize where are additional unknown slack variables that you would add to your problem.
Rather than striving for exact tolerances on each of the terms, though, it may be worth considering the simpler approach of simply weighting your equations differently in fsolve, .

카테고리

질문:

2021년 4월 5일

편집:

2021년 4월 5일

Community Treasure Hunt

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

Start Hunting!

Translated by