예제 #1
0
        public JsonResult ObtenerValoresCordenadas(string sFunction, int inicial, int final)
        {
            _ecuacion = new EcuacionGeneral();
            var valores = _ecuacion.EvaluateInX(sFunction, inicial, final);

            return(Json(valores, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
 public void ProcesoNoPivote(decimal Coef, IEcuacion ecuPivoteTmp)
 {
     foreach (var term in Terminos)
     {
         var terPivote = ecuPivoteTmp.Get(term.Variable);
         term.Valor = term.Valor - Coef * terPivote.Valor;
     }
 }
예제 #3
0
 private void ProcesoEcuacionesNoPivote(int ecupiv, string colpiv, IEcuacion ecuPivoteTmp)
 {
     foreach (var ecuresto in Ecuaciones)
     {
         if (ecuresto.NroEcu != ecupiv)
         {
             ecuresto.ValorDerecho = ecuresto.ValorDerecho - ecuresto.Get(colpiv).Valor *ecuPivoteTmp.ValorDerecho;
             ecuresto.ProcesoNoPivote(ecuresto.Get(colpiv).Valor, ecuPivoteTmp);
         }
     }
 }
예제 #4
0
        private void ProcesoModelo(int ecupiv, string colpiv)
        {
            IEcuacion ecuPivoteTmp = null;

            // Proceso las ecuaciones
            ecuPivoteTmp = ProcesoPivote(ecupiv, colpiv, ecuPivoteTmp);
            ProcesoEcuacionesNoPivote(ecupiv, colpiv, ecuPivoteTmp);
            // Proceso Z
            FuncionAOptimizar.ValorDerecho = FuncionAOptimizar.ValorDerecho - FuncionAOptimizar.Get(colpiv).Valor *ecuPivoteTmp.ValorDerecho;
            FuncionAOptimizar.ProcesoNoPivote(FuncionAOptimizar.Get(colpiv).Valor, ecuPivoteTmp);
        }
예제 #5
0
 private IEcuacion ProcesoPivote(int ecupiv, string colpiv, IEcuacion ecuPivoteTmp)
 {
     foreach (var ecua in Ecuaciones)
     {
         if (ecua.NroEcu == ecupiv)
         {
             var valPivote = ecua.Get(colpiv);
             ecua.ValorDerecho = ecua.ValorDerecho / valPivote.Valor;
             ecua.ProcesoPivote(valPivote.Valor);
             ecuPivoteTmp = ecua;
         }
     }
     return(ecuPivoteTmp);
 }