- [Function]
(
interpl
x 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:
:base
number- 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.
:scale
number- Multiplies the return value by number. The default value is 1.
:offset
number- Adds number to the return value after scaling. The default value is 0.
:min
number- An alternate name for specifying an offset.
:max
number- 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]