How exactly does Simulink 6.0 (R14) and Simulink 6.1 (R14SP1) solve algebraic loops?

1 次查看(过去 30 天)
I would like additional information on how exactly Simulink 6.0 (R14) and Simulink 6.1 (R14SP1) solve algebraic loops within models.

采纳的回答

MathWorks Support Team
Simulink 6.0 (R14) and Simulink 6.1 (R14SP1) can use either of the following algorithms to solve algebraic loops:
  • a dogleg trust region algorithm
  • three-point parabolic line search globalized Newton method
The choice is up to the user. By default, the trust region algorithm is used.
Starting in Simulink 6.2 (R14SP2), a hidden model parameter was added which can be used to switch back and forth between the two solvers.
The usage is as follows:
set_param(model,'AlgebraicLoopSolver',solverOption);
where solver option can be either 'TrustRegion' (the default), or 'LineSearch'.
Here is some additional information in question-and-answer format:
1. What is the step size of each iteration when trying to solve algebraic loop?
The methods are adaptive, and as such, the step size varies, depending on the algebraic equation residual function behavior.
2. What are the maximum iterations allowed?
We allow 200*(n+1) functions evaluations, counting function evaluations used for generating numerical Jacobians, where "n" is the number of algebraic variables in a particular algebraic loop.
3. What is the convergence criteria?
The Trust Region method uses the following criteria:
|F| < 128*eps*|x|
or
|deltax| < 128*eps*|x|
However, when it looks like the method is converging, but the iterations stop reducing the residual (say, due to the limit of numerical accuracy), we use a more relaxed criterion:
|F| < 1e-4*|x|
or
|deltax| < 1e-4*|x|
The Line Search method uses the following criterion:
|F| < eps*(1+|Finitial|)
or
|deltax| < sqrt(eps)*(1+|x|)
4. Is there a way for me to change the parameters that Simulink uses to solve algebraic loops?
The values are set by Simulink and other than switching between the algorithms, there is no way for the user to change the parameters.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Systems of Nonlinear Equations 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by