How to determine the approximation error in vpasolve?

2 次查看(过去 30 天)
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Debugging and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by