# ResponseExpression

Computes the value of a user specified function.

Function parameters could be a MotionSolve expression, a Dv or a Response of any kind.

## Example

Assume that you are designing a PID controller and the physical limit of the system impose a constraint on the gain:(1)
Here is a code snippet that shows how this is done with ResponseExpression:

>>> # Define Dvs
>>> kp = Dv(b = 0.5, blimit = [0,1])
>>> ki = Dv(b = 0.5, blimit = [0,1])
>>> kd = Dv(b = 0.5, blimit = [0,1])
>>>
>>> # Define the function expression
>>> sum_square = "k1**2 + k2**2 + k3**2"
>>>
>>> # Define the ResponseExpression
>>> response    = ResponseExpression (
label     = "Sum of square",
function  = sum_square,
symbols   = ["k1", "k2", "k3"],
variables = [kp, ki, kd],
)