Составить программу вычисления значений функций на заданном отрезке с точностью e=10-6 - C (СИ)
Формулировка задачи:
Составить программу вычисления значений функций на заданном отрезке с точностью e=10-6, воспользовавшись формулами разложения элементарных функций в ряд Тейлора.
помогите пожалуйста
Решение задачи: «Составить программу вычисления значений функций на заданном отрезке с точностью e=10-6»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
double factorial(int t)
{
return tgamma((double)t + 1.0);
}
double absd(double t)
{
return t < 0 ? -t : t;
}
double s(double x)
{
const double eps = 1e-6;
double res = 0.0;
int n, q;
for(n = 0; ; n++)
{
q = (n << 1) + 1;
double r = pow(-1.0, (double)n) * pow(x, (double)q) / factorial(q);
if(absd(r) < eps) return res;
res += r;
}
}
double f(double x)
{
double q = s(x);
return q + q * q;
}
int main()
{
double i;
for(i = 0; i <= 2 * M_PI; i += 0.05)
{
printf("Esli x = %lf, to functia = %lf\n", i, f(i));
}
return 0;
}