public static void Start(Func <double, double> func, Wavelet.Wavelets wavelets, double omega, FuncMethods.DefInteg.GaussKronrod.NodesCount nodesCount, NetOnDouble X, NetOnDouble Y, NetOnDouble T) { Wavelet.countNodes = nodesCount; var wavel = Wavelet.Create(wavelets, omega); Func <double, double, Complex> f = wavel.GetAnalys(func); IProgress <int> progress = new Progress <int>(number => Console.WriteLine(Expendator.GetProcent(number, X.Count * Y.Count).ToString(2) + "%")); Create3DGrafics.MakeGrafic(Create3DGrafics.GraficType.PdfPngHtml, $"wavelets{wavelets}", (a, b) => f(a, b).Abs, X, Y, progress, new System.Threading.CancellationToken(), new StringsForGrafic($"Wavelet {wavelets}", "a", "b", "|values|"), true); Func <double, double> func2 = wavel.GetSyntesis(); new MostSimpleGrafic(new Func <double, double>[] { func, func2 }, T, new string[] { "Исходная функция", "Её преобразование туда-сюда" }, true).ShowDialog(); }
static void WaveletCreateFromFunction() { Func <double, double> func = t => Math.Sin(6 * t) / (1 + t * t); //Func<double, double> func = t => (t >= 0.45 && t <= 0.55) ? Math.Sin(20 * Math.PI*(t - 0.45)) : 0; Wavelet.Wavelets wavelets = Wavelet.Wavelets.LP; double omega = 2; FuncMethods.DefInteg.GaussKronrod.NodesCount nodesCount = GaussKronrod.NodesCount.GK61; double xmin = -3; double xmax = 8; double ymin = -4; double ymax = 4; int spaceCount = 40; double tmin = -7; double tmax = 7; int tcount = 260; WaveletTest.Start(func, wavelets, omega, nodesCount, new NetOnDouble(xmin, xmax, spaceCount), new NetOnDouble(ymin, ymax, spaceCount), new NetOnDouble(tmin, tmax, tcount)); }
public static void Start(double begin, double step, int count, string filename, string path, Wavelet.Wavelets wavelets, double omega, FuncMethods.DefInteg.GaussKronrod.NodesCount nodesCount, NetOnDouble X, NetOnDouble Y) { Wavelet.countNodes = nodesCount; var wavel = Wavelet.Create(wavelets, omega); var mas = Point.CreatePointArray(begin, step, count, filename, path); Func <double, double, Complex> f = wavel.GetAnalys(mas); IProgress <int> progress = new Progress <int>(number => Console.WriteLine(Expendator.GetProcent(number, X.Count * Y.Count).ToString(2) + "%")); Create3DGrafics.MakeGrafic(Create3DGrafics.GraficType.PdfPngHtml, $"wavelets{wavelets}", (a, b) => f(a, b).Abs, X, Y, progress, new System.Threading.CancellationToken(), new StringsForGrafic($"Wavelet {wavelets}", "a", "b", "|values|"), true); //Func<double, double> func2 = wavel.GetSyntesis(); //new MostSimpleGrafic( func2, mas, "Преобразование", true).ShowDialog(); }
static void WaveletCreateFromArray() { double begin = -0.0004; double step = 16E-9; int count = 150000; string filename = "ArrayB.txt"; string path = @"C:\Users\user1\Desktop\zameri\n28_uzkopolos\Замер G\Разница"; Wavelet.Wavelets wavelets = Wavelet.Wavelets.LP; double omega = 2; FuncMethods.DefInteg.GaussKronrod.NodesCount nodesCount = GaussKronrod.NodesCount.GK61; double xmin = 1.0 / 80000; double xmax = 1.0 / 20000; double ymin = -0.0004; double ymax = 0.002079984; int spaceCount = 200; WaveletTest.Start(begin, step, count, filename, path, wavelets, omega, nodesCount, new NetOnDouble(xmin, xmax, spaceCount), new NetOnDouble(ymin, ymax, spaceCount)); }