Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include <iomanip>
- using namespace std;
- //------------------- lab05 main.cpp -------------------
- double y(double arg)
- {
- return ((pow(2*arg,6)+pow(3*arg,2))*sin(arg))/(pow(arg,2)+2)-1;
- }
- int main()
- {
- double xn, xk, dx, x;
- setlocale(0, "rus");
- cout.precision(12);
- cout.left;
- //формула -- ((2x^6+3x²+6)*sin(x))/(x²+2)-1
- //Ъ-диапазон -- [3; 6.5], шаг -- .25
- cout << "Исследование функции 3sin(x) + x^4 * [1 + (x–2/x) / (x+2/x)] * sin (x) - 1\n\n"
- "Введите через пробел начальное значение, конечное значение и шаг: ";
- cin >> xn >> xk >> dx;
- cout << "\nПребразованная функция: ([2x^6 + 3x^2 + 6] sin x)/(x^2+2)-1.\n"
- "Исследуем её в диапазоне [" << xn << "; " << xk << "] с шагом " << dx << "\n" << endl;
- cout << left << setw(10) << "X" << setw(18) << "Y\n------------------------" << endl;
- for(x=xn; x<=xk; x+=dx)
- cout << setw(10) << x << setw(18) << y(x) << endl;
- cout << "\nИщем экстремумы на этом диапазоне...\n";
- x=xn;
- while(dx>0.000001)
- {
- x+=dx;
- if (((y(x-dx) <= y(x)) && (y(x) >= y(x+dx))) || ((y(x-dx) >= y(x)) && (y(x) <= y(x+dx))))
- {
- xk = x + dx;
- xn = x = x - dx;
- dx /= 10;
- }
- }
- cout << "Кажется, это могло бы быть экстремумом: " << x << endl;
- system("pause");
- return 0;
- }
Add Comment
Please, Sign In to add comment