static void Main(string[] args) { // Nội suy trung tâm nên phải lấy cả 2 phía và lấy số lẻ mới chạy được // Nội suy tại X = 1.7489 nên phải tính giá trị tại 1.7489-1.75/0.01 = -0.11 // Dùng Bessel khi t nằm trong khoảng 0.25 đến 0.75 // Dùng Bessel tốt nhất khi t = 0.5 double[] X = { 1.72, 1.73, 1.74, 1.75, 1.76, 1.77, 1.78 }; double[] Y = { 5.5845, 5.6406, 5.6973, 5.7546, 5.81244, 5.87085, 5.92986 }; double[,] A = Saiphan(Y); ExportData.ExportData2D(A); double[] B = DaThucBessel(A); ExportData.ExportData1D(B); Console.WriteLine(HornerPn.Giatridathuc(B, -0.11)); }
static void Main(string[] args) { // Nội suy trung tâm nên phải lấy cả 2 phía và lấy số lẻ mới chạy được // Nội suy tại X = 1.7489 nên phải tính giá trị tại 1.7489-1.75/0.01 = -0.11 // Dùng Stirling khi t nằm trong khoảng -0.5 đến 0.5 // Dùng Stirling tốt nhất khi t nằm trong khoảng -0.25 đến 0.25 double[] X = { 75, 76, 77, 78, 79, 80, 81, 82, 83, 84 }; double[] Y = { 2.76806, 2.83267, 2.90256, 2.97857, 3.06173, 3.15339, 3.25530 }; double[,] A = SaiPhan(Y); ExportData.ExportData2D(A); double[] B = DaThucStirling(A); ExportData.ExportData1D(B); Console.WriteLine(HornerPn.Giatridathuc(B, 0.5)); }
static void Main() { // Nội suy trung tâm nên phải lấy cả 2 phía và lấy số lẻ mới chạy được // Nội suy tại X = 1.7489 nên phải tính giá trị tại 1.7489-1.75/0.01 = -0.11 // Dùng Gauss tiến khi t nằm trong khoảng 0 đến 0.5 // Dùng Gauss lui khi t nằm trong khoảng -0.5 đến 0 // Dùng Gauss tốt nhất khi gần 0, nếu dương thì tiến, nếu âm thì lùi double[] X = { 1.72, 1.73, 1.74, 1.75, 1.76, 1.77, 1.78 }; double[] Y = { 5.5845, 5.6406, 5.6973, 5.7546, 5.81244, 5.87085, 5.92986 }; double[,] A = Saiphan(Y); double[] B = Gauss_Tien_1(A); double[] C = Gauss_Lui_2(A); ExportData.ExportData2D(A); ExportData.ExportData1D(C); Console.WriteLine(HornerPn.Giatridathuc(B, -0.11)); Console.WriteLine(HornerPn.Giatridathuc(C, -0.11)); }
static void Iteration(double[] DaThucLap, int SoLanLap, double X0, double h) { double t0 = DaThucLap[DaThucLap.Length - 1]; double t1; Console.WriteLine("t0 = " + t0); for (int i = 1; i <= SoLanLap; i++) { t1 = HornerPn.Giatridathuc(DaThucLap, t0); Console.WriteLine("t{0} = {1}", i, t1); t0 = t1; if (i == SoLanLap) { Console.WriteLine("X = " + (t1 * h + X0)); } } // t = (X - X0) / h // Trong ví dụ lặp tiến X0 = 0.3 va h = 0.1 // Trong ví dụ lặp lùi X0 = 1.38 va h = 0.01 // Trong ví dụ lặp trung tâm X0 = 4.2 va h = 0.01 }