示例#1
0
        public double[] rungeKuttaGraficoLlenado()
        {
            double[] tiemposLlenado          = new double[3];
            bool     encontro                = false;
            VectorRungeKuttaLlenado anterior = new VectorRungeKuttaLlenado(0, 15, h, alfa);

            anterior.calcularValores();
            cargarDgv(anterior);
            VectorRungeKuttaLlenado actual = anterior.siguiente();

            cargarDgv(actual);
            while (actual.X < desb3)
            {
                anterior = actual;
                actual   = anterior.siguiente();
                if (anterior.X < desb1 && actual.X >= desb1)
                {
                    tiemposLlenado[0] = actual.T;
                    encontro          = true;
                }
                if (anterior.X < desb2 && actual.X >= desb2)
                {
                    tiemposLlenado[1] = actual.T;
                    encontro          = true;
                }
                if (anterior.X < desb3 && actual.X >= desb3)
                {
                    tiemposLlenado[2] = actual.T;
                    encontro          = true;
                }
                cargarDgv(actual);
                if (encontro)
                {
                    dgvRungeKutta.Rows[dgvRungeKutta.Rows.Count - 1].Cells[2].Style.BackColor = Color.FromArgb(3, 192, 74);
                    dgvRungeKutta.Rows[dgvRungeKutta.Rows.Count - 1].Cells[1].Style.BackColor = Color.FromArgb(3, 192, 74);
                    encontro = false;
                }
            }
            return(tiemposLlenado);
        }
示例#2
0
 private void cargarDgv(VectorRungeKuttaLlenado v)
 {
     dgvRungeKutta.Rows.Add("", v.T, v.X, v.K1, v.Th2, v.Xk1h2, v.K2, v.Th2, v.Xk2h2, v.K3, v.Th, v.Xk3h, v.K4);
 }