Пример #1
0
        //public delegate double HamMotBien(double x);
        public double TichPhan(double giaTriDau, double giaTriCuoi, double SoDoan, HamMotBien hamfx)
        {
            double h  = (giaTriCuoi - giaTriDau) / SoDoan;
            double kq = (h / 2) * (hamfx(giaTriDau) + hamfx(giaTriCuoi));

            for (int i = 1; i <= SoDoan - 1; i++)
            {
                kq = kq + h * (hamfx(giaTriDau + i * h));
            }
            return(kq);
        }
Пример #2
0
        //public delegate double HamMotBien(double x);
        public double TimNgiem(double GTDau, double GTCuoi, double saiso, HamMotBien hamfx)
        {
            double Trungdiem = 0;

            while (GTCuoi - GTDau > saiso)
            {
                Trungdiem = (GTDau + GTCuoi) / 2;
                double sign = hamfx(Trungdiem) * hamfx(GTCuoi);
                if (sign > 0)
                {
                    GTCuoi = Trungdiem;
                }
                else if (sign < 0)
                {
                    GTDau = Trungdiem;
                }
                else
                {
                    return(Trungdiem);
                }
            }
            return(Trungdiem);
        }