help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Extrapolation of 2 end points in interp1 instead of single scalar va


From: Sebastian Schöps
Subject: Re: Extrapolation of 2 end points in interp1 instead of single scalar value
Date: Sun, 25 Mar 2018 08:34:55 -0700 (MST)

Han Yichou wrote
> I am trying to interpolate the points within a dataset but to extrapolate
> any x values outside of the dataset range by assuming the 2 end points
> continue with the same y value. I am using interp1 to carry out the
> interpolation. However, I see that Octave only allows extrapolation of a
> single scalar value. Can someone advise how I can extrapolate using 2
> separate values instead?

How do you want to interpolate? If you do constant interpolation, then the
following does immediately work
>x=[1 2 3];
>y=x.^2;
>interp1(x,y,'nearest','extrap',[0 1 3 4])
1   1   9   9

If you want to use linear interpolation but constant extrapolation, then you
can exploit the linearity of the interpolation by adding two virtual points 
>x= [0 x 4];
>y=[y(1) y y(end)]
>interp1(x,y,'linear','extrap',[0 1 3 4])
1   1   9   9

If you want to use splines, than you may have to create a pp-structure with
"interp1(...,'pp')" and then you may add your own (constant) polynomial
pieces to it, see mkpp and unmkpp.

Sebastian




--
Sent from: http://octave.1599824.n4.nabble.com/Octave-General-f1599825.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]