Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace CM3
- {
- public class Program
- {
- public static void Main()
- {
- double h = 0.06;
- double[] Xarray = new double[6] {3, 3.06, 3.12, 3.18, 3.24, 3.3};
- int n = 3;
- double[] x = new double[3];
- double[] y = new double[3];
- for (int i = 0; i < n; i++)
- {
- Console.WriteLine("Введите значение X ");
- double a = Convert.ToDouble(Console.ReadLine());
- x[i] = Math.Round(a, 3);
- y[i] = Math.Round(12 * x[i] * Math.Sqrt(Math.Pow(x[i], 3) + 1), 10);
- }
- for (int i = 0; i < n; i++)
- {
- double q = (x[i] - Xarray[0]) / h;
- double t = (x[i] - Xarray[5]) / h;
- double pI = Math.Round(
- 1.86618
- + 0.00519 * q
- + (-0.00019) * q * (q - 1) / Factorial(2)
- + (-0.00002) * q * (q - 1) * (q - 2) / Factorial(3)
- + (0.00006) * q * (q - 1) * (q - 2) * (q - 3) / Factorial(4)
- + (-0.00011) * q * (q - 1) * (q - 2) * (q - 3) * (q - 4) / Factorial(5), 10);
- double pII = Math.Round(
- 1.89022
- + 0.00444 * t
- + (-0.00018) * t * (t + 1) / Factorial(2)
- + (-0.00001) * t * (t + 1) * (t + 2) / Factorial(3)
- + (-0.00005) * t * (t + 1) * (t + 2) * (t + 2) * (t + 3) / Factorial(4)
- + (-0.00011) * t * (t + 1) * (t + 2) * (t + 3) * (t + 4) / Factorial(5), 10);
- double L = Math.Round(
- - 19999.357 * (x[i] - Xarray[1]) * (x[i] - Xarray[2]) * (x[i] - Xarray[3]) * (x[i] - Xarray[4]) *
- (x[i] - Xarray[5])
- + 100274.884 * (x[i] - Xarray[0]) * (x[i] - Xarray[2]) * (x[i] - Xarray[3]) * (x[i] - Xarray[4]) *
- (x[i] - Xarray[5])
- + (-201085.60528) * (x[i] - Xarray[0]) * (x[i] - Xarray[1]) * (x[i] - Xarray[3]) * (x[i] - Xarray[4]) *
- (x[i] - Xarray[5])
- + 201598.9369 * (x[i] - Xarray[0]) * (x[i] - Xarray[1]) * (x[i] - Xarray[2]) * (x[i] - Xarray[4]) *
- (x[i] - Xarray[5])
- + (-101047.02503) * (x[i] - Xarray[0]) * (x[i] - Xarray[1]) * (x[i] - Xarray[2]) * (x[i] - Xarray[3]) *
- (x[i] - Xarray[5])
- + 20256.98731 * (x[i] - Xarray[0]) * (x[i] - Xarray[1]) * (x[i] - Xarray[2]) * (x[i] - Xarray[3]) * (x[i] - Xarray[4]), 10);
- Console.WriteLine($"|{correctPrint("x", x[i].ToString())}|{correctPrint("y(x)", y[i].ToString())}|{correctPrint("pI(x)", pI.ToString())}|{correctPrint("|y(x)-pI(x)|", Math.Round(Math.Abs(y[i] - pI), 10).ToString())}|{correctPrint("pII(x)", pII.ToString())}|{correctPrint("|y(x)-pII(x)|", Math.Round(Math.Abs(y[i] - pII), 10).ToString())}|{correctPrint("L(x)", L.ToString())}|{correctPrint("|y(x)-L(x)|", Math.Round(Math.Abs(y[i] - L), 10).ToString())}|");
- Console.WriteLine();
- Console.WriteLine("|" + Math.Round(x[i], 5) + "|" + Math.Round(y[i], 5) + "|" + Math.Round(pI, 5) + "|" + Math.Round(Math.Abs(y[i] - pI), 10) +
- "|" + Math.Round(pII, 5) + "|" + Math.Round(Math.Abs(y[i] - pII), 10) + "|" + Math.Round(L, 5) + "|" +
- Math.Abs(y[i] - L) + "|");
- Console.WriteLine();
- }
- Console.Read();
- }
- public static double Factorial(float number)
- {
- return number < 0 ? 0 : number == 0 ? 1 : number * Factorial(number - 1);
- }
- public static string correctPrint(string first, string second)
- {
- for (int i = 0; i < second.Length - first.Length; i++)
- {
- first += ' ';
- }
- return first;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement