Perturb

Base Control Profiles for System excitation

perturb.Periodic(nx=1, nsim=100, numPeriods=1, xmax=1, xmin=0, form='sin', rseed=1)[source]

periodic signals, sine, cosine :param nx: (int) Number signals :param nsim: (int) Number time steps :param numPeriods: (int) Number of periods :param xmax: (int/list/ndarray) signal maximum value :param xmin: (int/list/ndarray) signal minimum value :param form: (str) form of the periodic signal ‘sin’ or ‘cos’ :param rseed: (int) Set random seed

perturb.RandomWalk(nx=1, nsim=100, xmax=1, xmin=0, sigma=0.05, rseed=1)[source]
Parameters:
  • nx – (int) State space dimension

  • nsim – (int) Number of simulation steps

  • xmax – (float) Upper bound on state values

  • xmin – (float) Lower bound on state values

  • sigma – (float) Variance of normal distribution

  • rseed – (int) Set random seed

Returns:

perturb.SplineSignal(nsim=500, values=None, xmin=0, xmax=1, rseed=1)[source]

Generates a smooth cubic spline trajectory by interpolating between data points

Parameters:
  • nsim – (int) Number of simulation steps

  • values – (np.array) values to interpolate

  • xmin – (float) Minimum value of time series

  • xmax – (float) Maximum value of time series

  • rseed – (int) Set random seed.

Returns:

perturb.Step(nx=1, nsim=100, tstep=50, xmax=1, xmin=0, rseed=1)[source]

step change :param nx: (int) Number signals :param nsim: (int) Number time steps :param tstep: (int) time of the step :param xmax: (int/list/ndarray) signal maximum value :param xmin: (int/list/ndarray) signal minimum value :param rseed: (int) Set random seed

perturb.Steps(nx=1, nsim=100, values=None, randsteps=5, xmax=1, xmin=0, rseed=1)[source]
Parameters:
  • nx – (int) Number signals

  • nsim – (int) Number time steps

  • values – (list/ndarray) sequence of step changes, e.g., [0.4, 0.8, 1, 0.7, 0.3, 0.0]

  • randsteps – (int) number of random step changes if values is None

  • xmax – (int/ndarray) signal maximum value

  • xmin – (int/ndarray) signal minimum value

  • rseed – (int) Set random seed

Returns:

perturb.WhiteNoise(nx=1, nsim=100, xmax=1, xmin=0, rseed=1)[source]

White Noise :param nx: (int) Number signals :param nsim: (int) Number time steps :param xmax: (int/list/ndarray) signal maximum value :param xmin: (int/list/ndarray) signal minimum value :param rsee: (int) Set random seed

perturb.sawtooth(nx=1, nsim=100, numPeriods=1, xmax=1, xmin=0, rseed=1)[source]

ramp change :param nx: (int) Number signals :param nsim: (int) Number time steps :param numPeriods: (int) Number of periods :param xmax: (int/list/ndarray) signal maximum value :param xmin: (int/list/ndarray) signal minimum value :param rseed: (int) Set random seed