Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- using namespace std;
- double f(double x)
- {
- double res = sqrt(0.5 * x + 2) / (sqrt(2*x*x + 1) + 0.8);
- return res;
- }
- double lev(double a, double h, double n)
- {
- double s = 0;
- for(int i = 0; i < n; i++)
- {
- double x = a + i * h;
- s += f(x) * h;
- }
- return s;
- }
- double prav(double a, double h, double n)
- {
- double s = 0;
- for(int i = 0; i < n; i++)
- {
- double x = a + (i+1) * h;
- s += f(x) * h;
- }
- return s;
- }
- double trap(double a, double h, double n)
- {
- double s = 0;
- for(int i = 0; i < n; i++)
- {
- double x = a + i * h;
- double x1 = a + (i + 1) * h;
- s += (f(x) + f(x1)) / 2 * h;
- }
- return s;
- }
- double simpson(double a, double b)
- {
- return (b - a) / 6 * (f(a) + 4 * f((a + b) / 2) + f(b));
- }
- int main()
- {
- setlocale(LC_ALL, "RUS");
- double a = 0.4;
- double b = 1.2;
- double n = 10;
- double h = (b - a) / n;
- cout << "Левый: " << lev(a, h, n) << '\n';
- cout << "Правый: " << prav(a, h, n) << '\n';
- cout << "Трапеция: " << trap(a, h, n) << '\n';
- cout << "Симпсон: " << simpson(a, b) << '\n';
- return 0;
- }
Add Comment
Please, Sign In to add comment