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 } }; }
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 } }; }