public void DrawCurves() { SequenceFunc t = (double x, int kk) => Math.Log(0.01 + (x + 1 - 0.1 * kk).Sqr());//1.0/(1.0+kk*x*x);//FuncMethods.Monoms; RealFunc[] f = new RealFunc[] { (double x) => Math.Exp(x / (x.Abs() + 1)), (double x) => Math.Sin(x + 2) * Math.Cos(2 * x), (double x) => x.Abs() * Math.Exp(Math.Cos(x)), (double x) => Math.Log(1 + x.Abs()) * Math.Sinh(x / 2), (double x) => Math.Sin(x) - 8.0 / (2 * x + 6), (double x) => x.Abs() + Math.Log(0.01 + x * x) }; Point[] b = new Point[] { new Point(0, 5), new Point(-4, 4), new Point(-2, 4), new Point(-2, 2), new Point(-1, 1), new Point(-1, 1) }; int k = 64; int[] mas = new int[k]; for (int i = 0; i < k; i++) { mas[i] = i + 1; } Parallel.For(0, f.Length, (int i) => { var c = FuncMethods.UltraVsNormal(f[i], t, SequenceFuncKind.Other, k, b[i].x, b[i].y); StreamWriter fs = new StreamWriter($"Monoms {i + 1}.txt"); fs.WriteLine($"count normal ultra"); for (int j = 0; j < k; j++) { fs.WriteLine($"{mas[j]} {c.Item1[j]} {c.Item2[j]}"); } fs.Close(); }); //k = 75; //mas = new int[k]; //for (int i = 0; i < k; i++) // mas[i] = i + 1; //Parallel.For(0, f.Length, (int i) => //{ // t = FuncMethods.TrigSystem(b[i].x, b[i].y); // var c = FuncMethods.UltraVsNormal(f[i], t, SequenceFuncKind.Orthogonal, k, b[i].x, b[i].y); // StreamWriter fs = new StreamWriter($"Trig {i + 1}.txt"); // fs.WriteLine($"count normal ultra"); // for (int j = 0; j < k; j++) // fs.WriteLine($"{mas[j]} {c.Item1[j]} {c.Item2[j]}"); // fs.Close(); //}); }