Zorikto

lab5ASA

Nov 18th, 2021 (edited)
964
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <iomanip>
  4.  
  5. #define _USE_MATH_DEFINES
  6.  
  7. using namespace std;
  8.  
  9. const double e = 2.718281828459045;
  10.  
  11. //фунkция для расчета производной
  12. double func(double x,double y) {
  13.     return 0.215 * (x * x + cos(1.5 * x)) + 1.283 * y;
  14. }
  15.  
  16. //фунkция полченная аналитичесkи
  17. double afunc(double x) {
  18.     double f = -0.1675 * x * x - 0.2612 * x + 0.4299 * pow(e,(1.283 * x)) + 0.0827 * sin(1.5 * x) - 0.0708 * cos(1.5 * x) - 0.2036;
  19.     return f;
  20. }
  21.  
  22. int main()
  23. {
  24.     //начальные условия
  25.     double x = 0.2;
  26.     double y = 0.25;
  27.  
  28.     cout << setw(8) << "lom otr";
  29.     cout << "    ";
  30.     cout << setw(8) << "analit";
  31.     cout << "    ";
  32.     cout << setw(8) << "difference" << endl;
  33.  
  34.     for (int i=0; i<10; i++) {
  35.        // вычисление значения аналитичеkсого решения
  36.         double f = afunc(x);
  37.         // вывод
  38.         cout<< setw(8)<<y;
  39.         cout<<"    ";
  40.         cout<<setw(8)<< f;
  41.         cout << "    ";
  42.         cout <<setprecision(4)<< abs(y-f) << endl;
  43.  
  44.         //вычисление значения y i+1(ломанные отрезkи)
  45.         y = 0.1*func(x,y) + y;
  46.         x += 0.1;
  47.     }
  48.  
  49. }
  50.  
Add Comment
Please, Sign In to add comment