Splines
Carlo de Falco
carlo.defalco at gmail.com
Wed Oct 1 06:15:34 CDT 2008
On 01/ott/08, at 11:55, Jaroslav Hajek wrote:
> On Wed, Oct 1, 2008 at 12:44 PM, Carlo de Falco <carlo.defalco at gmail.com
> > wrote:
>>
>> On 01/ott/08, at 10:56, Jaroslav Hajek wrote:
>>
>>>
>>> The interp1 functions *are* using splines when you specify "cubic"
>>> interpolation.
>>
>> not really, try...
>>
>>>> x = sortrows (rand(10,2));
>>>> xsp = linspace(min(x(:,1)), max(x(:,1)), 100);
>>>> plot(x(:,1),x(:,2),'x', xsp, interp1(x(:,1), x(:,2), xsp, 'cubic'),
>>>> xsp,spline(x(:,1), x(:,2), xsp))
>>
>
> OK, 'spline' was what I meant, but I think that even the 'cubic'
> method uses some kind of spline, though probably it doesn't ensure
> smoothness.
>
interp1(x, y, 'cubic') is just a wrapper to pchip which does piece-
wise cubic hermite interpolation
the matlab help page for pchip contains a detailed comparison of pchip
and spline, I think the algorithms in octave are the same as in
matlab...
BTW there are different kinds of splines, try
plot(x(:,1),x(:,2),'x', xsp, interp1(x(:,1), x(:,2), xsp, 'spline'),
xsp, ppval(catmullrom(x(:,1), x(:,2)), xsp),'g-')
to see how catmullrom differs from the default not-a-knot spline.
For this particular application I think the less oscillatory behaviour
makes catmullrom preferable over spline
c.
More information about the Help-octave
mailing list