Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>
- #include<cmath>
- using namespace std;
- double f(double x) // funkcja do testowania (H)
- {
- return (2 * exp(-x) - sqrt(exp(x)) - 1);
- //return pow(5,x) - x - 3; // wzor A, z nim funkcja dziala bez problemu
- }
- double fp(double x) //pochodna
- {
- return (-0.5 * exp(-x) * (pow(exp(x),3/2) + 4));
- //return pow(5,x) * log(5) - 1; //pochodna A
- }
- double u(double x) //funkcja pomocnicza do formuly wielopunktowej
- {
- return f(x)/fp(x);
- }
- double formula(double x) //formula numer 5
- {
- return x - (u(x) / (2 * fp(x))) * (3 * fp(x) - fp(x - u(x)));
- }
- void Newton() //w zaleznosci od badanego kryterium zmienic petle zeby dawala kolejne epsilony zamiast x
- {
- double h, x = -20;
- const double epsilon = pow(10, -8);
- int k = 0;
- do
- {
- h = -(f(x) / fp(x));
- k++;
- x += h;
- }while(fabs(h) >= epsilon);
- cout << endl << "wynik: " << x << endl << "Liczba ruchow: " << k << endl;
- }
- void wielopunktowa()
- {
- double h, x = 0.000002;
- const double epsilon = 1e-8;
- int k = 0;
- do
- {
- h = formula(x);
- k++;
- x += h;
- }while(fabs(h) >= epsilon);
- cout << endl << "wynik: " << x << endl << "Liczba ruchow: " << k << endl;
- }
- int main()
- {
- cout.precision(16);
- wielopunktowa();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement