How to determine the approximation error in vpasolve?

2 ビュー (過去 30 日間)
Nitheesh S Pillai
Nitheesh S Pillai 2020 年 6 月 11 日
コメント済み: Nitheesh S Pillai 2020 年 6 月 12 日
I am new to MATLAB, and I have been working on parameter estimation which involves vpasolve. Can anyone tell me how to determine the approximation error when using vpasolve?
  1 件のコメント
Ameer Hamza
Ameer Hamza 2020 年 6 月 11 日
vpasolve() does not return the approximation error. Also, MATLAB did not disclose the algorithm behind vpasolve(). So, it might not be possible to estimate the error.

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2020 年 6 月 11 日
If I recall correctly, vpasolve() uses a modified Newton-Raphson.
When vpasolve finds a true root, the approximation error would be proportionate to the gradient at the point. Something like the sum of squares of the jacobian terms, or perhaps of the hessian terms. There is a mathematical operator appropriate for this situation, but I do not remember its name at the moment.
However, vpasolve() does not always find a true root. If there is an equation which is asymptopic to 0 then at some point it will become small enough to be within vpasolve()'s tolerance settings and vpasolve() will think it found a root.
vpasolve() struggles a lot with equations that are very steep. It might detect a zero change, but be unable to locate the position of the zero. In some cases, where one variable is the major contributor to the steepness, the result can be that the values it settles on can be very far from the true values.
vpasolve() does not do https://en.wikipedia.org/wiki/Kahan_summation_algorithm Compensated Summation, so it has the usual problems with order of operations of floating point. The results of calculations can come out arbitrarily wrong due to cancelation and loss of precision.
Determining the approximation error properly in general situations requires a lot of analysis work that cannot be done automatically, potentially involving mathematics theory that has not been developed yet.
  1 件のコメント
Nitheesh S Pillai
Nitheesh S Pillai 2020 年 6 月 12 日
Oh! Thanks a lot for clarifying.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDebugging and Analysis についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by