====== "posy" Polynomial with non-integer powers ====== ===== Syntax ===== posy c1,p1 c2,p2 ... posy c1,p1 c2,p2 ... args ===== Purpose ===== Defines a transfer function by a one dimensional ``posynomial'', like a polynomial, except that the powers are arbitrary, and usually non-integer. ===== Comments ===== There is no corresponding capability in any SPICE that I know of. For capacitors, this function defines //charge// as a function of voltage. For inductors, it defines //flux// as a function of current. For fixed sources, it defines voltage or current as a function of time. Normal use of this function required positive input (voltage or current). The result is zero if the input is negative. Raising a negative number to a non-integer power would produce a complex result, which implies a non-causal result, which cannot be represented in a traditional transient analysis. The transfer function is defined by: if (in >= 0){ out = (c1*in^p1) + (c2*in^p2) + .... }else{ out = 0. } ===== Parameters ===== |min |Minimum output value (clipping). (Default = -infinity) | |max |Maximum output value (clipping). (Default = infinity) | |abs |Absolute value, truth value. (Default = false). If set to true, the result will be always positive. | |odd |Make odd function, truth value. (Default = false). If set to true, negative values of x will be evaluated as out = -f(-x), giving odd symmetry. | |even |Make even function, truth value. (Default = false). If set to true, negative values of x will be evaluated as out = f(-x), giving even symmetry. | ===== Example ===== E1 (2 0 1 0) posy(1 .5) The output of E1 is the square root of its input.