Guest User

Untitled

a guest
Nov 18th, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace MetodNewton
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. Console.WriteLine("Решение уравнения 2x^4-24x^2-x+8 методом Ньютона.");
  14. Console.WriteLine();
  15. double[] cor = new double[] { 0.1, 0.01, 0.001 };
  16. double[] a = new double[] { -4, -1, 0.1, 3.2 };
  17. double[] b = new double[] { -3, -0.1, 1, 4 };
  18. double x = 0;
  19. double x1;
  20. double max;
  21. double min;
  22. for (int c = 0; c < 3; c++)
  23. {
  24. Console.WriteLine("Значения корней при точности {0}:", cor[c]);
  25. int k = 0;
  26. for (int n = 0; n < 4; n++)
  27. {
  28.  
  29. double ak = a[k];
  30. double bk = b[k];
  31. int iter = 1;
  32. max = Math.Max(Math.Abs(Functoin2(ak)), Math.Abs(Functoin2(bk)));
  33. min = Math.Min(Math.Abs(Functoin1(ak)), Math.Abs(Functoin1(bk)));
  34. if ((Functoin(ak) > 0 && Functoin2(ak) > 0) || (Functoin(ak) < 0 && Functoin2(ak) < 0))
  35. x = ak;
  36. else
  37. if (((Functoin(bk) > 0) && (Functoin2(bk) > 0)) || (Functoin(bk) < 0 && Functoin2(bk) < 0))
  38. x = bk;
  39. x1 = x - Functoin(x) / Functoin1(x);
  40. {
  41. while (Math.Abs(x1 - x) >= Math.Sqrt((2 * min * cor[c]) / max))
  42. {
  43. x = x1;
  44. x1 = x1 - Functoin(x1) / Functoin1(x1);
  45. iter++;
  46. }
  47. Console.WriteLine("Корень х{0} равен {1}. Количество итераций: {2}", n + 1, x1, iter);
  48. }
  49. k++;
  50. }
  51. Console.WriteLine();
  52. }
  53. Console.ReadLine();
  54. }
  55. public static double Functoin(double x)
  56. {
  57. double an = 2 * Math.Pow(x, 4) - 24 * Math.Pow(x, 2) - x + 8;
  58. return an;
  59. }
  60. public static double Functoin1(double x)
  61. {
  62. double an = 8 * Math.Pow(x, 3) - 48 * x - 1;
  63. return an;
  64. }
  65. public static double Functoin2(double x)
  66. {
  67. double an = 24 * Math.Pow(x, 2) - 48;
  68. return an;
  69. }
  70. }
  71. }
Add Comment
Please, Sign In to add comment