예제 #1
0
        //private static Auxiliar INPut = new Auxiliar("INPut", 0);
        //private static Smooth Smoothed_output = new Smooth("Smoothed_output", DELAY_TIME,3,INPut);

        public static void Correr()
        {
            Modelo.Nombre = "Derivadas y Retardos";
            Reloj.Establecer_DT(1);

            //INPut.UpdateFn = () => (100+Funciones.STEP(20,10));
            //INPut.UpdateFn = () => (Funciones.PULSE(10,0,9999));
            Entrada.UpdateFn = () => (Funciones.PULSE(10, 0, 9999));

            //Smoothed_output.InitFn = () => (INPut.k);
            //Smoothed_output.UpdateFn = () => (INPut.k);
            //Smoothed_output.Inicializar();
            double TiempoFinal = Modelo.Correr(0, 100);

            System.Windows.Forms.MessageBox.Show("Simulación Finalizada en Tiempo:" + TiempoFinal.ToString());
            Modelo.MostrarPanel();
        }
예제 #2
0
        public static void Correr()
        {
            Modelo.Nombre = "Derivadas y Retardos";
            Reloj.Establecer_DT(0.25);
            Integral_de_F_de_T.UpdateFn = () => (Integral_de_F_de_T.j + F_de_T.j * Reloj.DT);
            A.UpdateFn      = () => (1);
            B.UpdateFn      = () => (10);
            C.UpdateFn      = () => (2);
            D.UpdateFn      = () => (3);
            F_de_T.UpdateFn = () => (A.k + B.k * Math.Pow(Reloj.TiempoActual, C.k) - Math.Pow(Reloj.TiempoActual, D.k));
            Retraso_de_Integral_de_F_de_T.UpdateFn  = () => (Funciones.DELAY_FIXED(Integral_de_F_de_T, Reloj.DT));
            Derivada_de_Integral_de_F_de_T.UpdateFn = () => ((Integral_de_F_de_T.j - Retraso_de_Integral_de_F_de_T.j) / Reloj.DT);
            Error.UpdateFn = () => (Reloj.TiempoActual > 0 ? (Derivada_de_Integral_de_F_de_T.j - F_de_T.j) / F_de_T.j:0);
            double TiempoFinal = Modelo.Correr(0, 20);

            System.Windows.Forms.MessageBox.Show("Simulación Finalizada en Tiempo:" + TiempoFinal.ToString());
            Modelo.MostrarPanel();
        }