# [SciPy-User] Points fitting (non lin)

Paolo Zaffino p.zaffino@yahoo...
Sun Dec 16 08:29:35 CST 2012

```Dear Zach,
I didn't understand the trick...sorry.
Please, can you explain it again?

Thanks a lot.
Paolo

Il 14/12/2012 17:50, Zachary Pincus ha scritto:
> On Dec 14, 2012, at 11:42 AM, Paolo Zaffino wrote:
>
>> Dear Paweł,
>> thank you for the reply.
>> I try to explain better the issue.
>> I have these points (in this order):
>>
>> P1 = (1,1)
>> P2 = (2,2)
>> P3 = (4,2)
>> P4 = (3,1)
>>
>> I need to fit the points in the order P1,P2,P3,P4 even if the x coord of P3 is greater than P4.
>> I thought to quadratic piecewise curve but other solutions are welcome.
>>
>> Thanks a lot.
>> Paolo
> You will want to fit a parametric spline of some degree with some amount (or no) smoothing. I'd look at the splprep function in scipy.interpolate.
>
> The trick is you associate each point with some monotonic parameter value, and then interpolate along that parameter (say t) to get your x, y coordinates.
>
> E.g.:
> t  x  y
> 0  1  1
> 1  2  2
> 2  4  2
> 3  3  1
>
> Then if you were interpolating linearly, at t=0.5, you would have (1.5, 1.5) as the coordinate.
>
> As above, splprep will generate splines of a desired order (linear, quadratic, cubic, etc.) and with a user-specified smoothing parameter (s), which can be set to zero to get exact interpolation of the input coordinates, potentially at the cost of ringing (sometimes quite bad) away from the input coordinate. So you will need to plot the interpolated values, both at the input t-values, as well as at intermediate t's, to see if the output is sane.
>
> Hopefully this is somewhat clear, or at least enough to get you started. Please read the documentation for splprep and splev for more information.
> Zach
>
>
>
>> Da: Paweł Kwaśniewski <pawel.kw@gmail.com>
>> A: Paolo Zaffino <p.zaffino@yahoo.it>; SciPy Users List <scipy-user@scipy.org>
>> Inviato: Venerdì 14 Dicembre 2012 17:25
>> Oggetto: Re: [SciPy-User] Points fitting (non lin)
>>
>> Dear Paolo,
>>
>>
>> Is this what you are looking for?
>>
>> Cheers,
>>
>> Paweł
>>
>>
>>
>> 2012/12/14 Paolo Zaffino <p.zaffino@yahoo.it>
>> Dear Scipy community,
>>
>> I have a set of points (2D) and I would compute a curve that fits them.
>> The points are ordered in a precise way (not crescent order) and I can't change this order (the curve should fit the points in that order).
>> I'm interseting in a non linear fit (the ideal case would be more intervals of quadratic curves).
>>
>> Thank you very much.
>> Regards.
>> Paolo
>>
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User@scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
>>
>>
>>
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User@scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user

```