Info

この質問は閉じられています。 編集または回答するには再度開いてください。

nonlinear system of equations--------I have a problem ,HeeeeLP...

1 回表示 (過去 30 日間)
mona faraji
mona faraji 2011 年 4 月 17 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
Hi... I have a set of nonlinear equations with two variables how ever I know what its answer is when I use --Newton-Raphson-- method to solve the set with initial conditions so close to the roots or even the roots themselves , there is divergence and the answers could not be found
can any body help me and tell what the problem is should I change the method?which method I can use?

回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 4 月 17 日
With non-linear equations (especially) Newton-Raphson cannot always find the answer on real machines, and cannot always find a particular answer even if one starts right at the answer. The problem can occur with linear equations as well.
The difficulty has to do with floating point round-off error. {I believe that} It can be shown that for any fixed precision and any fixed round-off scheme, that when you calculate one variable in terms of another, or project new values for variables linearly based upon the old values and the evaluated value of the function, that there will be functions where it is not possible to simultaneously find the best representable values for all of the variables.
It can be the case that if (x0,y0) are the closest representable values to the root, that the calculations dance between (x0,y0*(1+eps)) and (x0*(1+eps),y0) . In other cases, the difference between what can be calculated and a theoretical root can be such that even if you start at the closest representation to the theoretical root, the routine will move off towards a different root that has a lower calculation error.
You can sometimes find the root you want by raising the tolerance away from 0 that is accepted as being 0, but there is no absolute tolerance that will work for every problem.
N-R finds answers in theory, but in practice with finite arithmetic is a different matter. :(
Re-writing the expression can help a lot. For example, Hornering a polynomial can lead to much better precision.
  2 件のコメント
mona faraji
mona faraji 2011 年 4 月 25 日
Thank u very much for your detailed answer :)
Do you have any ideas on changing the method of solving? cause I have no idea that how can rewrite my equations
are there any proper methods for such a system of equations ?
Thank u
Walter Roberson
Walter Roberson 2011 年 4 月 25 日
There are several different methods for handling multivariate equations, with different methods having different time requirements or different guarantees depending on the characteristics of the equations they are being applied to.
I suggest you examine the documentation for the Global Optimization Toolbox.
In some cases, the Symbolic Toolbox can provide closed-form solutions for multivariate polynomials. Unfortunately, it doesn't take very much in the way of non-linearity before you are forced into situations with no known closed form symbolic solution (or situations where it can be proven that no closed form symbolic solution is possible.)

この質問は閉じられています。

Community Treasure Hunt

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

Start Hunting!

Translated by