Documente Academic
Documente Profesional
Documente Cultură
Chișinău 2020
1.Scopul lucrării
1. 1) Să se separe toate rădăcinile reale ale ecuației f(x)=0 unde y=f(x) este
o funcție reală de variabilă reală.
- metoda secantelor.
a) x3-cos(x)
b) x3+14x-6
a) Metoda grafică. Adeseori ecuaţia f(x)=0 poate fi pusă sub forma echivalentă
φ(x)=g(x). Rădăcinile ultimei ecuației sunt abscisele punctelor de intersecție ale
curbelor y=φ(x) şi y=g(x).
2. Determinarea rădăcinilor reale a ecuației date cu ajutorul metodei înjumătățirii
-2
intervalului cu o eroare mai mică decât ε = 10 .
a) x3-cos(x)
#include <iostream>
#include <cmath>
using namespace std;
double function(double x)
{
return pow(x,3)-cos(x);
}
int main()
{
int k = 0;
double
a = -2,
b = 2,
c = 0,
eps = 0.01;
b) x3+14x-6
#include <iostream>
#include <cmath>
using namespace std;
double function(double x)
{
return pow(x,3)+(14*x)-6;
}
int main()
{
int k = 0;
double
a = -2,
b = 2,
c = 0,
eps = 0.01;
a) x3-cos(x)
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
double function(double x)
{
return (-0.5)/(2.43+sin(x));
}
int main()
{
int k = 0;
double x0, x1, eps;
cout << "Valoarea initiala x0= ";
cin >> x0;
cout << "Valoarea Epsilon = ";
cin >> eps;
while (1)
{
x1 = function(x0);
k++;
if (abs(x1 - x0)<eps)
{ cout << "Rezultatul: " << x0 << endl << "Numarul de iteratii " << k << endl; break; }
x0 = x1;
}
}
b) x3+14x-6
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
double function(double x)
{
return (pow(x,3)-6)/(-14) ;
}
int main()
{
int k = 0;
double x0, x1, eps;
cout << "Valoarea initiala x0= ";
cin >> x0;
cout << "Valoarea Epsilon = ";
cin >> eps;
while (1)
{
x1 = function(x0);
k++;
if (abs(x1 - x0)<eps)
{ cout << "Rezultatul: " << x0 << endl << "Numarul de iteratii " << k << endl; break; }
x0 = x1;
}
}
a) x3-cos(x)
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
double function(double x)
{
return pow(x,3)-cos(x);
}
double fderivat(double x)
{
return sin(x)+(3*pow(x,2));
}
int main()
{
int k = 0;
double x0, x1, eps;
cout << "Valoare initiala x0: ";
cin >> x0;
cout << "Valoarea lui Epsilon: ";
cin >> eps;
while (1)
{
x1 = x0 - function(x0) / fderivat(x0);
k++;
if (abs(x1 - x0)<eps)
{ cout << "Rezultatul: " << x0 << endl << "Numarul de iteratii " << k << endl; break; }
x0 = x1;
}
b) x3+14x-6
#include<iostream>
#include<cmath>
#include<cstdlib>
using namespace std;
double function(double x)
{
return pow(x,3)+(14*x)-6;
}
double fderivat(double x)
{
return (3*pow(x,2))+14;
}
int main()
{
int k = 0;
double x0, x1, eps;
cout << "Valoare initiala x0: ";
cin >> x0;
cout << "Valoarea lui Epsilon: ";
cin >> eps;
while (1)
{
x1 = x0 - function(x0) / fderivat(x0);
k++;
if (abs(x1 - x0)<eps)
{ cout << "Rezultatul: " << x0 << endl << "Numarul de iteratii " << k << endl; break; }
x0 = x1;
}
}
a) x3-cos(x)
#include <iostream>
#include <math.h>
using namespace std;
double function(double x)
{
return pow(x,3)-cos(x);
}
int main()
{
double x2, x1, x3=0, y, eps = 0.000001;
int n = 0;
cout << "Introduceti x1: ";
cin >> x1;
cout << "Introduceti x2: ";
cin >> x2;
do
{
n++;
y = x3;
x3 = x2 - (function(x2)*(x2 - x1) / (function(x2) - function(x1)));
x1 = x2;
x2 = x3;
} while (fabs(y - x3) >= eps);
cout << "Radacina x= " << x3 << endl;
cout << "Numarul de iteratii : " << n << endl;
return 0;}
b) x3+14x-6
#include <iostream>
#include <math.h>
using namespace std;
double function(double x)
{
return pow(x,3)+(14*x)-6;
}
int main()
{
double x2, x1, x3=0, y, eps = 0.000001;
int n = 0;
cout << "Introduceti x1: ";
cin >> x1;
cout << "Introduceti x2: ";
cin >> x2;
do
{
n++;
y = x3;
x3 = x2 - (function(x2)*(x2 - x1) / (function(x2) - function(x1)));
x1 = x2;
x2 = x3;
} while (fabs(y - x3) >= eps);
cout << "Radacina x= " << x3 << endl;
cout << "Numarul de iteratii : " << n << endl;
return 0;}