Facebook
From Hot Ostrich, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 175
  1. // Metoda najszybszego spadku 20.12.2019
  2.  
  3.  
  4. #include<iostream>
  5.  
  6.  
  7. double grad(double x) {
  8.         return (1 - (2 / (x * x * x)));
  9. }
  10.  
  11. double f(double x) {
  12.         return x + pow(x, -2);
  13. }
  14.  
  15.  
  16.  
  17. void metodaNajszybszegoSpadku() {
  18.  
  19.         double lambda = 0.1;
  20.         double x1 = 1.0;
  21.         double x0 = 0.0;
  22.         double epsilon = 0.0000001;
  23.         int k = 0;
  24.  
  25.         do {
  26.                 k++;
  27.                 x0 = x1;
  28.                 x1 = x1 - lambda * grad(x1);
  29.  
  30.                 //std::cout << "iteracja: " << k << ", x = "<<x1<<std::endl;
  31.  
  32.  
  33.         } while (abs(x1 - x0) > epsilon);
  34.  
  35.         std::cout << std::endl;
  36.         std::cout << std::endl;
  37.         std::cout << "x = " << x1 << std::endl;
  38.         std::cout << "Liczba iteracji = " << k << std::endl;
  39. }
  40.  
  41. int main() {
  42.  
  43.         metodaNajszybszegoSpadku();
  44.  
  45.         system("pause");
  46.         return 0;
  47. }