Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. #define _USE_MATH_DEFINES
  2. #include<iostream>
  3. #include<cmath>
  4. #include<iomanip>
  5.  
  6.  
  7. using namespace std;
  8.  
  9. double f(double x) //funckje
  10. {
  11. return (6*pow(x,3)-2*pow(x,2)+5); //funkcja algebraiczna 3st.
  12. //return 2*x-cos(x)-M_PI; //zadana funkcja F
  13.  
  14. }
  15.  
  16. double fp(double x) //pochodne
  17. {
  18. return (18*pow(x,2)-4*x); //pochodna do funkcji algebraicznej
  19. //return sin(x)+2.0; //pochodna do funkcji F
  20.  
  21. }
  22.  
  23. double u(int x) //funckaj pomocnicza
  24. {
  25. return (f(x)/fp(x));
  26. }
  27.  
  28. double mz(double x) //miejsca zerowe
  29. {
  30. x=0.84202392298099665;//mz do funkcji algebraicznej
  31. //x=1.57079632679489662; //mz do funckji F
  32. return x;
  33. }
  34.  
  35. int main()
  36. {
  37. double x, h, w, X, e;
  38. int licznik=0;
  39.  
  40. cout<<endl<<"Podaj liczbe poczatkowa x: ";
  41. cin>>x;
  42. cout<<"Podaj epsilon e: ";
  43. cin>>e;
  44. cout<<endl;
  45.  
  46. cout<<endl<<"Metoda Newtona: "<<endl;
  47.  
  48. do
  49. {
  50. h=-1.0*(f(x)/fp(x));
  51. x+=h*1.0;
  52. w=fabs(h/x)*1.0;
  53. licznik++;
  54. }
  55.  
  56. while(w>=e);
  57. cout<<endl;
  58.  
  59. cout<<"Wynik: "<<x<<endl;
  60. cout<<"Ilosc iteracji: "<<licznik<<endl;
  61. if(mz!=0)
  62. {
  63. cout<<"Blad wzgledny: "<<setprecision(16)<<fabs(x-mz(x))/fabs(mz(x))<<endl;
  64. }
  65. else
  66. {
  67. cout<<"Blad bezwzgledny: "<<setprecision(16)<<fabs(x-mz(x))<<endl;
  68. }
  69.  
  70. licznik=0;
  71.  
  72. cout<<endl<<"Metoda wielopunktowa: "<<endl;
  73. do
  74. {
  75. h=-1/4(u(x)+(3*f(x)/fp(x-2u(x)/3));
  76. x+=h*1.0;
  77. w=fabs(h/x)*1.0;
  78. licznik++;
  79.  
  80. }
  81. while(w>=e);
  82. cout<<endl;
  83. cout<<" Wynik: "<<x<<endl;
  84. cout<<"Ilosc iteracji: "<<licznik<<endl;
  85. if(mz!=0)
  86. {
  87. cout<<"Blad wzgledny: "<<fabs(x-mz(x))/fabs(mz(x))<<endl;
  88. }
  89. else
  90. {
  91. cout<<"Blad bezwzgledny: "<<fabs(x-mz(x))<<endl;
  92. }
  93. return 0;
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement