Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <math.h>
- using namespace std;
- double xx0, xx1; // промежуток в ответе шагового метода
- double a = 0.5, b = 1, h = 0.05, e = 0.001; // исходные данные
- double F(double x)
- {
- return (x + cos(pow(x, 0.5) + 2));
- }
- double F1(double x)
- {
- return ((1 - sin(pow(x, 1. / 2.) + 2)) / pow(x, 1. / 2.));
- }
- double S(double x)
- {
- return (-cos(pow(x, 0.5) + 2));
- }
- void shag_metod() {
- double x0 = a, x1 = x0 + h;
- while (x1 <= b)
- {
- x1 = x0 + h;
- if (F(x0)*F(x1)<0) {
- cout << "x na intervale [" << x0 << "," << x1 << "]" << endl;
- xx0 = x0;
- xx1 = x1;
- }
- x0 = x1;
- }
- }
- void pol_del() {
- double x = xx0;
- a = xx0;
- b = xx1;
- while (fabs(F(x))>e)
- {
- x = (a + b) / 2;
- if (F(a)*F(x)<0) b = x;
- else a = x;
- }
- cout << "METOD POLOVINNOGO DELENIA x=" << x << endl;
- }
- void nuton() {
- double x2 = xx0;
- while (fabs(F(x2))>e)
- {
- x2 = x2 - F(x2) / F1(x2);
- }
- cout << "METOD N'UTONA x=" << x2 << endl;
- }
- void pros_iter() {
- double x3 = xx0;
- while (fabs(F(x3))>e)
- {
- x3 = S(x3);
- }
- cout << "METOD PROSTOI ITERACII x=" << x3 << endl;
- }
- int main()
- {
- shag_metod();
- pol_del();
- nuton();
- pros_iter();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement