polynomial

polynomial — Efficiently evaluates a polynomial of arbitrary order.

Description

The polynomial opcode calculates a polynomial with a single a-rate input variable. The polynomial is a sum of any number of terms in the form kn*x^n where kn is the nth coefficient of the expression. These coefficients are k-rate values.

Syntax

aout polynomial ain, k0 [, k1 [, k2 [...]]]

Performance

ain -- the input signal used as the independent variable of the polynomial ("x").

aout -- the output signal ("y").

k0, k1, k2, ... -- the coefficients for each term of the polynomial.

If we consider the input parameter ain to be "x" and the output aout to be "y", then the polynomial opcode calculates the following equation:


        y = k0 + k1*x + k2*x^2 + k3*x^3 + ...
      

See Also

chebyshevpoly, mac maca

Examples

Here is an example of the polynomial opcode. It uses the file polynomial.csd.

Example 331. Example of the polynomial opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

<CsoundSynthesizer>
<CsOptions>
  ; no sound output
  -n
</CsOptions>
<CsInstruments>

sr = 10	; audio rate is not important
kr = 10	; execute the statements in instr 1 ten times per second

instr 1
	; ax will vary from 1 to 10
	ax         init        1
	
	; ay = ax^3 + 2ax^2 + 3ax + 4
	ay         polynomial  ax, 4, 3, 2, 1
	
	; convert our a-rate signals to k-rate values so that we can print
	ky         downsamp    ay
	kx         downsamp    ax
	           printf      "%d:  %d\n", kx, kx, ky

	ax         =           ax + 1
endin

</CsInstruments>
<CsScore>

i1 0 1
e

</CsScore>
</CsoundSynthesizer>


Credits

Author: Anthony Kozar
January 2008

New in Csound version 5.08