Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.60 KB | None | 0 0
  1. public static double Function(double cur_x , int variant)
  2.         {
  3.             switch (variant)
  4.             {
  5.                 case (9):
  6.                     {
  7.                         function = Math.Pow(Math.E, cur_x) - 6 * cur_x + 3;
  8.                         return function;
  9.                     }
  10.  
  11.                 case (29):
  12.                     {
  13.                         function = Math.Pow(3, cur_x) + 5 * Math.Pow(cur_x,2)-3*cur_x + 1;
  14.                         return function;
  15.                     }
  16.                 default:
  17.                     return 0;
  18.  
  19.             }
  20.         }
  21.         //Производные функций в точке x
  22.         public static double Proizvod(double cur_x, int variant)
  23.         {
  24.             switch (variant)
  25.             {
  26.                 case (9):
  27.                     {
  28.                         fProizvod = Math.Pow(Math.E, cur_x) - 6;
  29.                         return fProizvod;
  30.                     }
  31.  
  32.                 case (29):
  33.                     {
  34.                         fProizvod = Math.Pow(3, cur_x) * Math.Log(3) + 4* cur_x - 3;
  35.                         return fProizvod;
  36.                     }
  37.                 default:
  38.                     return 0;
  39.             }
  40.         }
  41.         //Подсчет разделенных разностей
  42.         public static double DividedDifferences(double[] xArray, int variant)
  43.         {
  44.             if (xArray.Length == 1)
  45.             {
  46.                 return Function(xArray[0], variant);
  47.             }
  48.             if (xArray.Length == 2)
  49.             {
  50.                 return ((Function(xArray[1], variant) - Function(xArray[0], variant)) / (xArray[1] - xArray[0]));
  51.             } else {
  52.                 double[] tempxArray1 = new double[xArray.Length - 1];
  53.                 double[] tempxArray2 = new double[xArray.Length - 1];
  54.                 for(int i=0; i<tempxArray1.Length; i++)
  55.                 {
  56.                     tempxArray1[i] = xArray[i + 1];
  57.                 }
  58.                 for (int i = 0; i < tempxArray2.Length; i++)
  59.                 {
  60.                     tempxArray2[i] = xArray[i];
  61.                 }
  62.                 return ((DividedDifferences(tempxArray1, variant) - DividedDifferences(tempxArray2, variant)) / (xArray[xArray.Length - 1] - xArray[0]));
  63.             }
  64.         }
  65.         //Вычисление Омега =(x-x0)*(x-x1)...
  66.         public static double Omega(double x, double[] xArray)
  67.         {
  68.             double prz = 1;
  69.             for(int i=0; i<xArray.Length; i++)
  70.             {
  71.                 prz *= (x - xArray[i]);
  72.             }
  73.             return prz;
  74.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement