Ejemplo n.º 1
0
            public void SetValue(TrajectoryQuantityInstance q, MatlabExpression value)
            {
                var idx = q.GlobalIndex;

                Debug.Assert(idx >= 0 && idx < Values.Length);
                Values[idx] = value;
            }
Ejemplo n.º 2
0
 /// <summary>
 /// Add a multi-dimensional equality constraint gradient
 /// </summary>
 protected void AddEConstraintGrad(Constraint ci, TrajectoryQuantityInstance q, MatlabExpression expr)
 {
     if (expr.ToString() == "- 1*1")
     {
         Console.WriteLine("{0}, {1}: {2}", ci.Index, q, expr);
     }
     AddConstraintGrad(EConstraintsNLGradCode, q, ci, expr);
     //if (ci.NDims > 1)
 }
Ejemplo n.º 3
0
            public void SetValue(TrajectoryQuantityInstance q, MatlabExpression value)
            {
                var idx = q.GlobalIndex;

                if (idx >= 0 && idx < Values.Length)
                {
                    Values[idx] = value;
                }
                // Silently ignore invalid values
            }
Ejemplo n.º 4
0
            public void SetValue(TrajectoryQuantityInstance q, params object[] exprs)
            {
                Debug.Assert(q.Quantity.Length == exprs.Count());
                var idx = q.GlobalIndex;

                if (idx >= 0 && idx < Values.Length)
                {
                    Values[idx] = M.ColVector(exprs);
                }
                // Silently ignore invalid values
            }
Ejemplo n.º 5
0
        protected void AddCostGrad(TrajectoryQuantityInstance q, MatlabExpression expr)
        {
            var idx = q.GlobalIndex;

            if (idx >= 0 && idx < JGradCode.Length)
            {
                var list = JGradCode[idx];
                if (list == null)
                {
                    JGradCode[idx] = list = new List <MatlabExpression>(5);
                }
                list.Add(expr);
            }
            // for now: Silently ignore invalid gradients (such as those from the boundaries)
        }
Ejemplo n.º 6
0
 public QInstanceIndex(Constraint ci, TrajectoryQuantityInstance q)
 {
     Constraint = ci;
     Q          = q;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Add a constraint gradient
 /// </summary>
 private void AddConstraintGrad(SparseMatlabTensor <QInstanceIndex> constraintGrad, TrajectoryQuantityInstance q, Constraint ci, MatlabExpression expr)
 {
     constraintGrad.Add(new QInstanceIndex(ci, q), expr);
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Add an equality constraint gradient
 /// </summary>
 protected void AddIConstraintGrad(Constraint ci, TrajectoryQuantityInstance q, MatlabExpression expr)
 {
     AddConstraintGrad(IConstraintsNLGradCode, q, ci, expr);
 }