[SciPy-User] point-curve distance estimation or calculation
Christopher Barker
Chris.Barker@noaa....
Wed Jun 2 11:53:55 CDT 2010
Matthieu Rigal wrote:
> In the y = ax²+bx+c case, I know have a curve. I want to calculate or
> estimate the distance between each point (combination of two data sets)
> and the curve.
Usually, one is trying to find the "error", or difference between the y
you get from the fitted curve and the actual y you have measured. This
is also called the "residual". And if this is your case, it's really easy:
r = y1 - (ax²+bx+c)
where x is a 1-d array of your x values, and y1 is a 1-d array of the
corresponding y values.
So I don't know why you need to use:
> Calculation is doable by applying this formula
> http://mathcentral.uregina.ca/QQ/database/QQ.09.07/s/elliot1.php
Though if I have misunderstood, then you can still use that formula, and
simply plug in a 1-d arrays of values, rather than scalar values, and
numpy will do it all in c loops for you. If that still isn't fast
enough, then there are tricks to reduce the amount of data copying going
on -- post your code here and ask for help.
> Second, it may be better to get a close estimation of the distance to the
> curve.
I'm still wondering if you really need the distance, in 2-d space to the
curve, or if you need the difference between you measured value and the
one predicted by the fitted curve. If the later, then it is the distance
in the y-direction, not the closest distance, which is much easier (see
above).
HTH,
-Chris
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov
More information about the SciPy-User
mailing list