示例#1
0
        private void PlotTime()
        {
            Func <double, double> f    = x => clutter(x) + flib.Gauss(x);
            Transformer           trns = new Transformer(f, N, min, max);
            Func <double, double> xmod;

            if (filter != Filters.Wiener)
            {
                xmod = (x => N / 2 - x);
            }
            else
            {
                xmod = (x => x);
            }
            FFT_Inv_Transformer ft = new FFT_Inv_Transformer(x => trns.FFT_C(x) * filter(xmod(x)), N);

            PlotableFunction f_in  = new PlotableFunction(f, "Input Func", 1);
            PlotableFunction f_out = new PlotableFunction(x => ft.FFT_Inv((x - min) * N / (max - min)), "Result", 2);

            plt.Plot(new PlotableFunction[] { f_in, f_out }, min, max);
        }