Beispiel #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Nhap 2 da thuc: ");
            Console.WriteLine("Da thuc 1: ");
            DaThuc daThuc1 = new DaThuc(3);

            daThuc1.Nhap();
            daThuc1.Xuat();
            Console.WriteLine("Da thuc 2: ");
            DaThuc daThuc2 = new DaThuc(3);

            daThuc2.Nhap();
            daThuc2.Xuat();
            string x;
            DaThuc daThuc3 = new DaThuc();

            Console.WriteLine("Nhap 1 neu muon cong 2 da thuc: ");
            Console.WriteLine("Nhap 2 neu muon tru 2 da thuc: ");
            x = Console.ReadLine();
            if (x == "1")
            {
                daThuc3 = daThuc1 + daThuc2;
                daThuc3.Xuat();
            }
            else
            {
                daThuc3 = daThuc1 - daThuc2;
                daThuc3.Xuat();
            }
        }
Beispiel #2
0
                    static void Main4()
                    {
                        DaThuc d1 = new DaThuc();
                        DaThuc d2 = new DaThuc();

                        Console.WriteLine("Da thuc thu nhat"); d1.Hien();
                        Console.WriteLine("Da thuc thu hai"); d2.Hien();
                        DaThuc d3 = d1.Tong(d2);
                        DaThuc d4 = d1.Hieu(d2);

                        Console.WriteLine("Da thuc tong"); d3.Hien();
                        Console.WriteLine("Da thuc hieu"); d4.Hien();
                        Console.ReadLine();
                    }
Beispiel #3
0
 public DaThuc Hieu(DaThuc t2)
 {
     if (this.n == t2.n)
     {
         DaThuc d = new DaThuc(this.n);
         for (int i = 0; i < n; i++)
         {
             d.a[i] = this.a[i] - t2.a[i];
         }
         return(d);
     }
     else
     {
         return(null);
     }
 }
Beispiel #4
0
        public DaThuc Lagrange()
        {
            var length = bangSo.N;
            var D1y    = new MaTran(1, length);

            for (int i = 0; i < length; i++)
            {
                D1y[0, i] = 1;
            }
            for (int i = 0; i < length; i++)
            {
                for (int j = 0; j < length; j++)
                {
                    if (i == j)
                    {
                        continue;
                    }
                    D1y[0, i] *= bangSo[0, i] - bangSo[0, j];
                }
                D1y[0, i] = bangSo[1, i] / D1y[0, i];
            }
            var ketQua = new DaThuc();

            for (int i = 0; i < length; i++)
            {
                var temp = new DaThuc();
                temp[0] = 1;
                for (int j = 0; j < length; j++)
                {
                    if (i == j)
                    {
                        continue;
                    }
                    var temp2 = new DaThuc();
                    temp2[1] = 1;
                    temp2[0] = -bangSo[0, j];
                    temp     = temp.NhanVoiDaThucBac1(temp2);
                }
                temp   = temp * D1y[0, i];
                ketQua = ketQua + temp;
            }
            return(ketQua);
        }
Beispiel #5
0
        public DaThuc NewtonTongQuat()
        {
            var length     = bangSo.N;
            var bangTiHieu = new MaTran(length, length);

            for (int i = 0; i < length; i++)
            {
                bangTiHieu[i, 0] = bangSo[1, i];
            }
            for (int i = 1; i < length; i++)
            {
                for (int j = 0; j < length - i; j++)
                {
                    var tuSo  = bangTiHieu[j + 1, i - 1] - bangTiHieu[j, i - 1];
                    var mauSo = bangSo[0, j + i] - bangSo[0, j];
                    bangTiHieu[j, i] = tuSo / mauSo;
                }
            }
            var ketQua = new DaThuc();

            ketQua[0] = bangTiHieu[0, 0];
            for (int i = 0; i < length - 1; i++)
            {
                var temp = new DaThuc();
                temp[0] = 1;
                for (int j = 0; j < i + 1; j++)
                {
                    var temp2 = new DaThuc();
                    temp2[1] = 1;
                    temp2[0] = -bangSo[0, j];
                    temp     = temp.NhanVoiDaThucBac1(temp2);
                }
                temp   = temp * bangTiHieu[0, i + 1];
                ketQua = ketQua + temp;
            }
            return(ketQua);
        }