Ejemplo n.º 1
0
        /*************************************************************************
        *  ODE solver results
        *
        *  Called after OdeSolverIteration returned False.
        *
        *  INPUT PARAMETERS:
        *   State   -   algorithm state (used by OdeSolverIteration).
        *
        *  OUTPUT PARAMETERS:
        *   M       -   number of tabulated values, M>=1
        *   XTbl    -   array[0..M-1], values of X
        *   YTbl    -   array[0..M-1,0..N-1], values of Y in X[i]
        *   Rep     -   solver report:
        * Rep.TerminationType completetion code:
        * -2    X is not ordered  by  ascending/descending  or
        *                           there are non-distinct X[],  i.e.  X[i]=X[i+1]
        * -1    incorrect parameters were specified
        *  1    task has been solved
        * Rep.NFEV contains number of function calculations
        *
        *  -- ALGLIB --
        *    Copyright 01.09.2009 by Bochkanov Sergey
        *************************************************************************/
        public static void odesolverresults(ref odesolverstate state,
                                            ref int m,
                                            ref double[] xtbl,
                                            ref double[,] ytbl,
                                            ref odesolverreport rep)
        {
            double v  = 0;
            int    i  = 0;
            int    i_ = 0;

            rep.terminationtype = state.repterminationtype;
            if (rep.terminationtype > 0)
            {
                m        = state.m;
                rep.nfev = state.repnfev;
                xtbl     = new double[state.m];
                v        = state.xscale;
                for (i_ = 0; i_ <= state.m - 1; i_++)
                {
                    xtbl[i_] = v * state.xg[i_];
                }
                ytbl = new double[state.m, state.n];
                for (i = 0; i <= state.m - 1; i++)
                {
                    for (i_ = 0; i_ <= state.n - 1; i_++)
                    {
                        ytbl[i, i_] = state.ytbl[i, i_];
                    }
                }
            }
            else
            {
                rep.nfev = 0;
            }
        }
            public override alglib.apobject make_copy()
            {
                odesolverreport _result = new odesolverreport();

                _result.nfev            = nfev;
                _result.terminationtype = terminationtype;
                return(_result);
            }
Ejemplo n.º 3
0
 public static void odesolverresults(odesolverstate state, out int m, out double[] xtbl, out double[,] ytbl, out odesolverreport rep, alglib.xparams _params)
 {
     m    = 0;
     xtbl = new double[0];
     ytbl = new double[0, 0];
     rep  = new odesolverreport();
     odesolver.odesolverresults(state.innerobj, ref m, ref xtbl, ref ytbl, rep.innerobj, _params);
 }
 /*************************************************************************
 *  ODE solver results
 *
 *  Called after OdeSolverIteration returned False.
 *
 *  INPUT PARAMETERS:
 *   State   -   algorithm state (used by OdeSolverIteration).
 *
 *  OUTPUT PARAMETERS:
 *   M       -   number of tabulated values, M>=1
 *   XTbl    -   array[0..M-1], values of X
 *   YTbl    -   array[0..M-1,0..N-1], values of Y in X[i]
 *   Rep     -   solver report:
 * Rep.TerminationType completetion code:
 * -2    X is not ordered  by  ascending/descending  or
 *                           there are non-distinct X[],  i.e.  X[i]=X[i+1]
 * -1    incorrect parameters were specified
 *  1    task has been solved
 * Rep.NFEV contains number of function calculations
 *
 *  -- ALGLIB --
 *    Copyright 01.09.2009 by Bochkanov Sergey
 *************************************************************************/
 public static void odesolverresults(odesolverstate state, out int m, out double[] xtbl, out double[,] ytbl, out odesolverreport rep)
 {
     m    = 0;
     xtbl = new double[0];
     ytbl = new double[0, 0];
     rep  = new odesolverreport();
     odesolver.odesolverresults(state.innerobj, ref m, ref xtbl, ref ytbl, rep.innerobj);
     return;
 }
Ejemplo n.º 5
0
        /*************************************************************************
        ODE solver results

        Called after OdeSolverIteration returned False.

        INPUT PARAMETERS:
            State   -   algorithm state (used by OdeSolverIteration).

        OUTPUT PARAMETERS:
            M       -   number of tabulated values, M>=1
            XTbl    -   array[0..M-1], values of X
            YTbl    -   array[0..M-1,0..N-1], values of Y in X[i]
            Rep     -   solver report:
                        * Rep.TerminationType completetion code:
                            * -2    X is not ordered  by  ascending/descending  or
                                    there are non-distinct X[],  i.e.  X[i]=X[i+1]
                            * -1    incorrect parameters were specified
                            *  1    task has been solved
                        * Rep.NFEV contains number of function calculations

          -- ALGLIB --
             Copyright 01.09.2009 by Bochkanov Sergey
        *************************************************************************/
        public static void odesolverresults(odesolverstate state,
            ref int m,
            ref double[] xtbl,
            ref double[,] ytbl,
            odesolverreport rep)
        {
            double v = 0;
            int i = 0;
            int i_ = 0;

            m = 0;
            xtbl = new double[0];
            ytbl = new double[0,0];

            rep.terminationtype = state.repterminationtype;
            if( rep.terminationtype>0 )
            {
                m = state.m;
                rep.nfev = state.repnfev;
                xtbl = new double[state.m];
                v = state.xscale;
                for(i_=0; i_<=state.m-1;i_++)
                {
                    xtbl[i_] = v*state.xg[i_];
                }
                ytbl = new double[state.m, state.n];
                for(i=0; i<=state.m-1; i++)
                {
                    for(i_=0; i_<=state.n-1;i_++)
                    {
                        ytbl[i,i_] = state.ytbl[i,i_];
                    }
                }
            }
            else
            {
                rep.nfev = 0;
            }
        }
Ejemplo n.º 6
0
    /*************************************************************************
    ODE solver results

    Called after OdeSolverIteration returned False.

    INPUT PARAMETERS:
        State   -   algorithm state (used by OdeSolverIteration).

    OUTPUT PARAMETERS:
        M       -   number of tabulated values, M>=1
        XTbl    -   array[0..M-1], values of X
        YTbl    -   array[0..M-1,0..N-1], values of Y in X[i]
        Rep     -   solver report:
                    * Rep.TerminationType completetion code:
                        * -2    X is not ordered  by  ascending/descending  or
                                there are non-distinct X[],  i.e.  X[i]=X[i+1]
                        * -1    incorrect parameters were specified
                        *  1    task has been solved
                    * Rep.NFEV contains number of function calculations

      -- ALGLIB --
         Copyright 01.09.2009 by Bochkanov Sergey
    *************************************************************************/
    public static void odesolverresults(odesolverstate state, out int m, out double[] xtbl, out double[,] ytbl, out odesolverreport rep)
    {
        m = 0;
        xtbl = new double[0];
        ytbl = new double[0,0];
        rep = new odesolverreport();
        odesolver.odesolverresults(state.innerobj, ref m, ref xtbl, ref ytbl, rep.innerobj);
        return;
    }
Ejemplo n.º 7
0
 public override alglib.apobject make_copy()
 {
     odesolverreport _result = new odesolverreport();
     _result.nfev = nfev;
     _result.terminationtype = terminationtype;
     return _result;
 }