Численно убедиться в справедливости разложения функции - C (СИ)
Формулировка задачи:
Задана функция и ее разложение в ряд или произведение Численно убедиться в .
справедливости равенства для чего для заданного значения аргумента , x вычислить левую
часть и разложение стоящее в правой части с заданной погрешностью , , ε. Испытать
разложение на сходимость при разных значениях аргумента, оценить скорость сходимости,
для чего вывести число итераций n (слагаемых или сомножителей), необходимых для
достижения заданной точности. В некоторых задачах указан интервал допустимых значений
аргумента x, при которых сходимость гарантируется (проверить, входит ли введенное число в
этот интервал).
Не могу найти ошибку. Преподователь сказал что решение неверное.
#include <stdio.h> #include <stdlib.h> #include <windows.h> #include <math.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); double cos, x, sum, sl; long int n; printf("Введите x: "); scanf("%lf", &x); do { printf("Введите cos x (-1<cos x<1): "); scanf("%lf", &cos); if (cos <-1 || cos > 1) printf("Значение x не удовлетворяет условию -1< cos <1\n"); } while (cos <-1 || cos >1); n = 1; sum = 0; sl = 1; while (sl > cos) { sum = sum + sl; sl = pow(x, n); n++; printf("%ld %lf\n", n, sl); } printf("Сумма ряда: %lf\n", sum); printf("Сумма по формуле: %f\n", exp(x)); printf("Количество итераций: %ld", n); return 0; }
Решение задачи: «Численно убедиться в справедливости разложения функции»
textual
Листинг программы
printf("Введите x: "); scanf("%lf", &x); printf("Введите точность: "); scanf("%lf", &eps); n = 1; sum = 1.; do { sl=1. -4.0*x*x/(M_PI*M_PI*(2.*n-1.)*(2.*n-1.)); sum *= sl; n++; }while (fabs(sl-1.) > eps); printf("Сумма ряда: %lf\n", sum); printf("Сумма по формуле: %f\n", cos(x)); printf("Количество итераций: %ld", n);
Объяснение кода листинга программы
- Ввод значений переменных x и eps с помощью функции scanf.
- Инициализация переменных n и sum.
- Запуск цикла do-while, который выполняется до тех пор, пока значение sl не будет равно 1 с точностью eps.
- Внутри цикла вычисляется значение sl по формуле 1-4xx/(M_PIM_PI(2n-1)(2*n-1)).
- Значение sl умножается на sum, обновляя его.
- Увеличивается значение n.
- Выводится значение sum ряда.
- Вычисляется значение cos(x) по формуле cos(x).
- Выводится значение cos(x).
- Выводится количество итераций цикла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д