예제 #1
0
 public SolverAdamsMoulton(int order)
 {
     this.order = order;
     diffs      = new JQueue <Vector>(order - 1);
     if (order == 3)
     {
         coeffs = new double[3] {
             5d / 12d, 2d / 3d, -1d / 12d
         }
     }
     ;
     else if (order == 4)
     {
         coeffs = new double[4] {
             3d / 8d, 19d / 24d, -5d / 24d, 1d / 24d
         }
     }
     ;
     else
     {
         coeffs = new double[5] {
             251d / 720d, 646d / 720d, -264d / 720d, 106d / 720d, -19d / 720d
         }
     };
 }
예제 #2
0
        public static void Main()
        {
            var que = new JQueue<int>();

            que.Enqueue(1);
            que.Enqueue(2);
            que.Enqueue(3);
            Console.WriteLine(que.Peek());
            Console.WriteLine(que.Dequeue());
            Console.WriteLine(que.Peek());
            que.Enqueue(4);
            que.Enqueue(5);
            que.Enqueue(6);

            que.Enqueue(7);
            que.Enqueue(8);
        }
 public SolverAdamsBashforth(int order)
 {
     this.order = order;
     diffs      = new JQueue <Vector>(order);
     if (order == 1)
     {
         coeffs = new double[1] {
             1d
         }
     }
     ;                                  // euler
     else if (order == 2)
     {
         coeffs = new double[2] {
             3d / 2d, -1d / 2d
         }
     }
     ;
     else if (order == 3)
     {
         coeffs = new double[3] {
             23d / 12d, -4d / 3d, 5d / 12d
         }
     }
     ;
     else if (order == 4)
     {
         coeffs = new double[4] {
             55d / 24d, -59d / 24d, 37d / 24d, -3d / 8d
         }
     }
     ;
     else
     {
         coeffs = new double[5] {
             1901d / 720d, -1387d / 360d, 109d / 30d, -637d / 360d, 251d / 720d
         }
     };
 }