static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; funcPointer func = testFunction; //testDeligate(func); //List<double> list1 = new List<double>(6) { 1, 0, 1, -2, 0, 3 }; //List<double> list2 = new List<double>(5) { 2, -3, 4, 0, -1 }; List <double> list1 = new List <double>(1) { 0 }; List <double> list2 = new List <double>(2) { 1, 0 }; //var random = new Random(); //for (int i = 0; i < 9; i++) //{ // list.Add(random.Next(206, 507) / 10); //} configurationAxisMethod config = new configurationAxisMethod(0, 2, 0.05); uint approximation = 3; pikardMethod(func, approximation, config); //Polynomial poly1 = new Polynomial(list1); //poly1.printPolynomial(); //poly1.computeResult(2); ////poly1.integrate(); ////poly1.printPolynomial(); //Polynomial poly2 = new Polynomial(list2); //poly2.printPolynomial(); //Polynomial resPoly = func(poly1, poly2); //resPoly.integrate(); //resPoly.printPolynomial(); //Polynomial p = poly1 + poly2; //p.printPolynomial(); Console.ReadLine(); }
public static void pikardMethod(funcPointer func, uint approximation, configurationAxisMethod cnf) { // initialize polynom List <double> list1 = new List <double>(1) { 0 }; Polynomial poly1 = new Polynomial(list1); poly1.printPolynomial(); List <double> list2 = new List <double>(2) { 1, 0 }; Polynomial poly2 = new Polynomial(list2); poly2.printPolynomial(); Polynomial resPoly; for (uint i = 0; i < approximation; i++) { //Console.WriteLine("=========="); //Console.WriteLine("Current approximation is " + approximation); resPoly = func(poly1, poly2); resPoly.integrate(); resPoly.printPolynomial(); poly1 = (Polynomial)resPoly.Clone(); for (double j = cnf.x1; j < cnf.x2; j += cnf.h) { double res = resPoly.computeResult(j, false); } } }