Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <math.h>
- #include <iomanip>
- using namespace std;
- double F1(double U1, double U2, double x)
- {
- return (U1 / x - U2 / exp(x) + 1);
- }
- double F2(double U1, double U2, double x)
- {
- return (U1 / (2 * x) + U2 - 1);
- }
- int main()
- {
- setlocale(LC_ALL, "rus");
- double u1, u2, x, y1[200], y2[200];
- double h = 0.01;
- double eps = 0.01;
- /////////////////////////
- //все эти значения даны в методе
- double a = 1, b = 2;
- x = 1;
- int k = 1;
- y1[0] = 2;
- y2[0] = exp(1);
- u1 = y1[0];
- u2 = y2[0];
- //////////
- k = 1;
- for (x = a + h; x <= b; x += h)//проходим по отрезку
- {
- double temp = y1[k-1];
- do {//итерационный метод
- u1 = temp;
- temp = y1[k - 1] + h * F1(u1, u2, x);
- } while (fabs(temp - u1) > eps);
- y1[k] = y1[k - 1] + h * F1(u1, u2, x);//нахождение y1[k]
- u1 = y1[k];
- temp = y2[k - 1];
- do {//итерационный метод
- u2 = temp;
- temp = y2[k - 1] + h * F1(u1, u2, x);
- } while (fabs(temp - u2) > eps);
- y2[k] = y2[k - 1] + h * F2(u1, u2, x);//нахождение y2[k]
- u2 = y2[k];
- k++;
- }
- k = 1;
- cout << setw(4) << "№" << setw(10) << "X" << setw(10) << "U1" << setw(5) << "2 * x" << setw(10) << "Погрешность" << setw(10) << "U2" << setw(10) << " exp(x)" << setw(15) << "Погрешность" ;
- cout << endl << endl;
- for (x = a + h; x <= b; x += h)//вывод
- {
- double E1 = fabs(y1[k] - 2 * x);
- double E2 = fabs(y2[k] - exp(x));
- cout << setw(4) << k << setw(10) << x << setw(10) << y1[k] << setw(5) << 2 * x << setw(10) << E1 << setw(10) << y2[k] << setw(10) << exp(x) << setw(15) << E2 << endl;
- cout << endl;
- k++;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement