Пример #1
0
def check_states_data(xdata, nx, number_of_intervals):

    if not nx == 0:

        if xdata is None:
            xdata = np.zeros((nx, number_of_intervals + 1))

        xdata = np.atleast_2d(xdata)

        if xdata.shape == (number_of_intervals + 1, nx):
            xdata = xdata.T

        if not xdata.shape == (nx, number_of_intervals + 1):

            raise ValueError( \
                "State values provided by user have wrong dimension.")

        return xdata

    else:

        return ci.dmatrix(0,0)
Пример #2
0
def check_controls_data(udata, nu, number_of_controls):

    if not nu == 0:

        if udata is None:
            udata = np.zeros((nu, number_of_controls))

        udata = np.atleast_2d(udata)

        if udata.shape == (number_of_controls, nu):
            udata = udata.T

        if not udata.shape == (nu, number_of_controls):

            raise ValueError( \
                "Time-varying control values provided by user have wrong dimension.")

        return udata

    else:

        return ci.dmatrix(0, number_of_controls)
Пример #3
0
def check_constant_controls_data(qdata, nq):

    if not nq == 0:

        if qdata is None:
            qdata = np.zeros((nq, 1))

        qdata = np.atleast_2d(qdata)

        if qdata.shape == (1, nq):
            qdata = qdata.T

        if not qdata.shape == (nq, 1):

            raise ValueError( \
                "Time-constant control values provided by user have wrong dimension.")

        return qdata

    else:

        return ci.dmatrix(0, 1)
Пример #4
0
def check_input_error_weightings(weps_u, neps_u, number_of_intervals):

    if not neps_u == 0:

        if weps_u is None:
            weps_u = np.ones((neps_u, number_of_intervals))

        weps_u = np.atleast_2d(weps_u)

        if weps_u.shape == (number_of_intervals,neps_u):
            weps_u = weps_u.T

        if not weps_u.shape == (neps_u, number_of_intervals):

            raise ValueError( \
                "Input error weightings provided by user have wrong dimension.")

        return weps_u

    else:

        return ci.dmatrix(0, 0)