How to determine the approximation error in vpasolve?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nitheesh S Pillai
el 11 de Jun. de 2020
Comentada: Nitheesh S Pillai
el 12 de Jun. de 2020
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 comentario
Ameer Hamza
el 11 de Jun. de 2020
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.
Respuesta aceptada
Walter Roberson
el 11 de Jun. de 2020
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.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!