Kod: Zaznacz cały
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
double my_sin(double x)
{
double sum = 0.0, add, sign;
const int iterations = 20;
add = x;
sum = add;
sign = 1.0;
for (int k=1; k<iterations; k++)
{
add = add*x*x/(2*k)/(2*k+1);
sign = -sign;
sum = sum+sign*add;
}
return sum;
}
int main()
{
cout << "Porownanie funkcji my_sin z funkcja biblioteczna sin
";
cout << "x | my_sin | sin | rel_err
";
for (double x = 10.0; x <= 10+2*M_PI; x = x+0.05)
{
double yp = my_sin(x);
double y = sin(x);
double err = abs(y-yp)/abs(y);
cout.precision(2);
cout << fixed;
cout << x << " | ";
cout.precision(10);
cout << yp << " | ";
cout << y << " | ";
cout.precision(2);
cout << scientific << err << "
";
}
return 0;
}