- [Function]
(interplx envelope {keyword value}*)
Returns the interpolated y value of x in envelope, a list of xy coordinate pairs. The return value can be optionally scaled and offset according to the keyword arguments.
interpl supports the following
keyword arguments:
:basenumber- If number is 1 then linear interpolation is performed. If number is greater or less than one then the return value follows an exponential where values greater than 1 produce concave curves and values less than 1 but greater than 0 produce convex curves. The default value is 1.
:scalenumber- Multiplies the return value by number. The default value is 1.
:offsetnumber- Adds number to the return value after scaling. The default value is 0.
:minnumber- An alternate name for specifying an offset.
:maxnumber- Sets the multiplier to max-min and the offset to min.
Examples:
Example 1. Interpolation with scale and offset.
(interpl 50 '(0 0 100 1) :scale 2 :offset 3) ⇒ 4.0 (interpl 50 '(0 0 100 1) :min -5 :max 5) ⇒ 0.0
Example 2. Exponential interpolation.
(interpl 50 '(0 0 100 1) :base 10)
⇒ 0.24025308
(interpl 50 '(0 0 100 1) :base .1 )
⇒ 0.7597469
(interpl 50 '(0 0 100 1) :base .1 :scale 1000)
⇒ 759.7469
See also:
interp[Function]lookup[Function]- Plotter [Topic]
rescale-envelope[Function]tendency[Function]